Kapitel 2 Aussagen und Mengen Eine Menge ist eine Vielheit, als Einheit gedacht. (Felix Haussdorf) Ziel der Mathematik ist es, abstrakte, konsistente Gedankengebäude zu etablieren, d.h. Geflechte von Begriffen und Beziehungen die unanfechtbar sind. Aufbauend auf präzise, elementare Definitionen (den sogenannten Axiomen) werden weitere Eigenschaften des Gedankengebäudes abgeleitet bzw. bewiesen, um die Reichweite der getroffenen (formalen) Festlegungen auszuloten. Zwar orientieren sich die gewählten Definitionen häufig an Beobachtungen aus der realen Welt, aber anders als die Naturwissenschaften erhebt die reine Mathematik nicht notwendig einen Anspruch auf besondere Realitätsnähe. Im Grunde erinnern diese Gedankengebäude sehr an die „Realitäten“ diverser Computerspiele, deren Physik ja auch nicht notwendigerweise realitätsnah, sondern oft eher effektorientiert ist. Auch hier gilt aber das Prinzip „Es ist, was programmiert ist“, was dem axiomatischen Ansatz der Mathematik sehr nahe kommt. Trotzdem haben die Mathematik und die Informatik mit diesem Ansatz Werkzeuge geschaffen, die die Realität erstaunlich gut fassbar machen. Man denke z.B. an die moderne Wettervorhersage, oder die Präzision, mit der physikalische Abläufe wie z.B. Raketenflugbahnen heutzutage präzise kontrolliert werden können. Dieser Status quo ist Folge einer mathematischen Tradition, die sich über Jahrhunderte immer weiter entwickelt hat. Das Bestreben nach Unanfechtbarkeit findet seinen Ausdruck in der Suche nach beweisbaren Aussagen, die gewonnene Erkenntnisse in wiederverwendbarer Form festhalten. Ziel dieses Kapitels ist es, diesen Aussagenbegriff zu erläutern und anschließend anhand der elementaren Mengenlehre zu festigen. Auf diese Weise sollten nicht nur Fakten gelernt, sondern auch Vorgehensweisen eingeübt und Grenzen anhand sogenannter Antinomien aufgezeigt werden. 2.1 Aussagen In der Mathematik ist es von essentieller Bedeutung wissenschaftliche Erkenntnisse in (Schrift-)sprachlicher Form abzufassen. Da umgangssprachliche Formulierun- 15 B. Steffen, O. Rüthing, M. Isberner, Grundlagen der höheren Informatik, eXamen.press, DOI 10.1007/978-3-642-40146-6_2, © Springer-Verlag Berlin Heidelberg 2014 16 2 Aussagen und Mengen gen die Gefahr von Missverständnissen in sich tragen, hat sich eine formalisierte Verwendung sprachlicher Konstrukte durchgesetzt. Fast noch stärker gilt dies in der Informatik und der Logik, da hier oft Aussagen über verschiedene Sinnebenen (z.B. Syntax und Semantik) miteinander in Zusammenhang gesetzt werden. Hier ist selbst bei der Formalisierung größte Sorgfalt geboten, da es sonst zu Missverständnissen durch Vermischung verschiedener Ebenen kommen kann. So treten Formeln z.B. sowohl als Bedingungen in Programmen, als auch als Randbedingungen und (Schleifen-)Invarianten in Verifikationskalkülen auf, sowie (oft informeller) auf der Argumentationsebene in Beweisen über Programme und Kalküle. Das Zusammenspiel dieser Ebenen zu beherrschen gehört zu den Kernkompetenzen des Informatikers. Ein zentraler Begriff der gesamten Logik ist der Begriff der Aussage (engl. Proposition), der sich wie folgt definieren lässt: Definition 2.1 (Aussagen). Aussagen sind (schrift-)sprachliche Gebilde, für die es sinnvoll ist, ihnen einen Wahrheitswert wahr ( w ) oder falsch ( f ) zuzuordnen. Leider ist auch diese Definition nicht völlig eindeutig. Problematisch ist hierbei die Formulierung sinnvoll. Während es für viele Sätze unbestreitbar sinnvoll ist, ihnen Wahrheitswerte zuzuordnen, ist dies bei anderen weit weniger klar. Wir werden dies weiter unten präzisieren, zunächst folgen jedoch einige Beispiele für Sätze, die zweifellos Aussagen darstellen. Beispiel 2.1 (Aussagen). 1. Delfine sind Fische. ( f ) 2. 5 ist eine Primzahl. ( w ) 3. Es gibt nur endlich viele Primzahlen. ( f ) 4. Jede gerade Zahl größer als zwei ist Summe zweier Primzahlen. (?) 5. Borussia Dortmund ist Deutscher Fußballmeister der Herren. (?) Zu den ersten drei Aussagen muss man nicht viel sagen, vielleicht bis auf den Hinweis, dass Aussage (3) falsch ist, da sich mit dem Satz von Euklid1 die Existenz unendlich vieler Primzahlen nachweisen lässt. Bei Aussage (4) hingegen handelt es sich um die sogenannte Goldbachsche Vermutung2 , deren Gültigkeit bis heute nicht nachgewiesen werden konnte. Dennoch ist klar, dass diese Aussage entweder wahr oder falsch ist, und man kann davon ausgehen, dass diese Vermutung künftig entweder durch einen Beweis nachgewiesen oder durch ein Gegenbeispiel widerlegt werden wird. Anders verhält es sich mit Aussage (5), die heute, im August 2013, 1 2 Siehe http://de.wikipedia.org/wiki/Satz_von_Euklid Siehe http://de.wikipedia.org/wiki/Goldbachsche_Vermutung 2.1 Aussagen 17 nicht gilt, bis zum April dieses Jahres jedoch wahr gewesen ist. Um derartige Situationsabhängigkeiten behandeln zu können, wurden die modalen und temporalen Logiken eingeführt [7, 13]. Keine Aussagen im mathematischen Sinne dagegen sind: Beispiel 2.2 (Keine Aussagen). 1. Wie spät ist es? 2. Kommt her! 3. Diese Aussage ist falsch. Während es sich bei (1) und (2) um eine Frage beziehungsweise Anweisung handelt, hat (3) zumindest die äußere Form einer Aussage. Allerdings kann man dem Satz keinen eindeutig bestimmten Wahrheitswert zuordnen, da es sich um ein logisches Paradoxon handelt: Jeder mögliche Wahrheitswert, den man (3) zuordnen kann, stünde im Widerspruch zum Inhalt des Satzes. Schließlich gibt es Sätze, bei denen die Einordnung unklar ist: Beispiel 2.3 (Unklare Aussagen). 1. Heute ist das Wetter schön. 2. Verdi hat die bedeutendsten Opern komponiert. Bei nasskaltem Herbstwetter würden die meisten Menschen Satz (1) wohl für falsch befinden. Allerdings ist die Beurteilung „schön“ immer von der jeweiligen Person abhängig, und manche Leute mögen ein solches Wetter vielleicht als „schön“ empfinden. Bei Satz (2) kann man sich durchaus Gedanken über eine objektive Betrachtung machen – die Bedeutsamkeit einer Oper ließe sich beispielsweise daran messen, wie oft sie weltweit in einem Jahr aufgeführt wird. Dennoch ist zu erwarten, dass beide mögliche Zuordnungen eines Wahrheitswerts zu diesem Satz manchen Widerspruch aus der Musikwissenschaft nach sich ziehen würden. In der Mathematik und Informatik werden solche Unklarheiten vermieden. Es wird verlangt, dass Aussagen in einer bestimmten, genau definierten Form vorliegen müssen (Syntax), und dass es eindeutige Vorschriften gibt, wie sich die Wahrheitswerte dieser Aussagen berechnen (Semantik). Dann ist die Zuordnung eines Wahrheitswerts zu einem – syntaktisch korrekten – Ausdruck durch die Semantik unmittelbar als „sinnvoll“ gerechtfertigt. 18 2 Aussagen und Mengen 2.1.1 Aussagenlogik In der Aussagenlogik betrachtet man, wie komplexere Aussagen aus einfachen Aussagen gebildet werden können. Hierzu geht man von gewissen elementaren (auch: atomaren3 ) Aussagen aus, welche zu neuen Aussagen verknüpft werden können. Zwei Gedanken sind dabei zentral: Zum einen ist die Struktur der elementaren Aussagen nicht relevant, es genügt die Annahme, dass ihnen ein Wahrheitswert zugeordnet werden kann. Die Frage, ob eine elementare Aussage wirklich eine Aussage im Sinne von Definition 2.1 ist, stellt sich also überhaupt nicht. Zum anderen findet das sogenannte Extensionalitätsprinzip Anwendung: Der Wahrheitswert der komplexen Aussagen soll sich eindeutig aus den Wahrheitswerten der Teilaussagen ergeben. Wir werden in Kapitel 4, insbesondere im Abschnitt 4.3, diese Sichtweise formal präzisieren, indem wir aussagenlogische Formeln (Syntax) induktiv definieren und diesen dann, ebenfalls induktiv, eine Bedeutung (Semantik) zuweisen. Zunächst aber betrachten wir hier einen etwas weniger formalen Zugang: Definition 2.2 (Verknüpfung von Aussagen). Seien A und B beliebige Aussagen. Die folgenden Gebilde sind dann ebenfalls Aussagen (aussagenlogische Formeln): • Negation von A : (¬A ), gesprochen „nicht A “. Der Wahrheitswert von A wird invertiert.4 • Disjunktion von A und B: (A ∨ B), gesprochen „A oder B“. Wahr genau dann, wenn mindestens eine der beiden Aussagen wahr ist. • Konjunktion von A und B: (A ∧ B), gesprochen „A und B“. Wahr genau dann, wenn beide Aussagen wahr sind. • Implikation von A und B: (A ⇒ B), gesprochen „A impliziert B“ oder „aus A folgt B“: Wahr genau dann, wenn falls A wahr ist auch B wahr ist. • Äquivalenz von A und B: (A ⇔ B), gesprochen „A ist äquivalent zu B“ oder „A genau dann, wenn B“. Wahr genau dann, wenn beide Aussagen den gleichen Wahrheitswert besitzen. t u Bei einer Implikation (A ⇒ B) nennt man A die Prämisse und B die Konklusion der Implikation. Man beachte, dass die Implikation schon dann wahr ist, wenn die Prämisse nicht erfüllt ist. So ist die Aussage: 10 ist eine Primzahl ⇒ Elefanten können fliegen eine wahre Aussage. Aus einer logisch falschen Aussage lässt sich daher jede andere Aussage folgern (lat. ex falso quodlibet, d.h. „aus dem Falschen folgt Beliebiges“). Die Verknüpfungen ⇒ (Implikation) und ⇔ (Äquivalenz) drücken eine „wenn, dann ...“- bzw. „genau dann, wenn ...“-Beziehung aus. Im normalen Sprachgebrauch 3 4 Griech. atomos = „unteilbar“. Gelegentlich wird die Negation auch durch einen Überstrich ausgedrückt: A . 2.1 Aussagen 19 vernachlässigt man diese Trennung jedoch oft. So versteht man den Satz „Wenn heute die Sonne scheint, gehe ich schwimmen“ typischerweise so, dass ohne Sonne auch nicht geschwommen wird, wenngleich der Satz, formal logisch gesehen, keine Aussage für den Fall trifft, dass die Sonne nicht scheint. Anfangs ist es deshalb nicht ganz leicht, der für die Logik erforderlichen Präzision gerecht zu werden. Anmerkungen zu Definition 2.2. Bemerkenswert an Definition 2.2 ist die Selbstbezüglichkeit: Obwohl Aussagen im Sinne der Aussagenlogik dort erst definiert werden, wird in der Definition bereits auf Aussagen A und B zurückgegriffen. Da für Aussagen A , B, C auch ¬A und (B ∨ C ) Aussagen sind, ist auch ¬(B ∨ C ) eine Aussage. An dieser Art des induktiven Definierens,a das in Kapitel 4 formalisiert wird, lassen sich sofort zwei Eigenschaften ablesen: Zum einen ist die Menge aller aussagenlogischen Formeln unbegrenzt, da sich aus den vorhandenen stets neue, komplexere Aussagen bilden lassen. Zum anderen ist es leicht einsichtig, warum elementare Aussagen benötigt werden: Andernfalls hätte man keinen Punkt, an dem man mit der Konstruktion einer aussagenlogischen Formel beginnen könnte. Strukturen, die sich so (in endlich vielen Schritten) aus atomaren Bausteinen konstruieren lassen, sind wohlfundiert. Fast alle im Folgenden betrachteten Strukturen sind so konstruiert und damit dem induktiven Beweisen zugänglich. Die entsprechenden Zusammenhänge werden in Kapitel 5 diskutiert. Die Definitionen basieren selbst bereits auf einer der obigen Verknüpfungen: Die Formulierung „genau dann, wenn ...“ drückt eine Äquivalenzbeziehung aus. Aufgrund der großen Wichtigkeit dieser Beziehung kürzt man dies auch oft mit gdw. (im Englischen iff = „if and only if “) ab. Hier zeigt sich allerdings die in der Einleitung bereits angesprochene Wichtigkeit der Trennung verschiedener Bedeutungsebenen. Die Äquivalenz „⇔“ ist eine Verknüpfung in der Aussagenlogik, der eine bestimmte Bedeutung zugeordnet ist. Die Aussage „genau dann, wenn ...“ findet jedoch auf einer Ebene statt, auf der man über die Aussagenlogik bzw. deren Semantik spricht. Die beiden Ausdrücke sind in der obigen Definition also keinesfalls vertauschbar! a Alternativ wird hier auch oft von rekursiven Definitionen gesprochen. Die Verknüpfungssymbole ¬, ∨, ∧, ⇒ und ⇔ werden auch Junktoren genannt. Um Klammern einzusparen vereinbart man, dass bei der Auswertung ¬ Vorrang vor anderen Junktoren, ∧ Vorrang vor allen Junktoren außer ¬ und ∨ Vorrang vor ⇒ und ⇔ hat.5 5 Man sagt auch, dass ¬ stärker bindet als ∧. Die Rangfolge der Junktoren bezeichnet man auch als Operatorenpräzedenz. In der Arithmetik wird diese durch die Regel „Punkt- vor Strichrechnung“ verkörpert. 20 2 Aussagen und Mengen Eine formalere Form der Auswertung von Aussagen im Sinne der Aussagenlogik erlaubt die im Folgenden dargestellte Wahrheitstafel, die die Bedeutung der in Definition 2.2 informell eingeführten Verknüpfungen zusammenfasst: A B ¬A A ∨ B A ∧ B A ⇒ B A f f w f f w f w w w f w w f f w f f w w f w w w ⇔B w f f w Die Spalten einer Wahrheitstafel lassen sich in zwei Hälften einteilen: Auf der linken Seite stehen die elementaren Aussagen (hier A und B), auf der rechten Seite finden sich die aus diesen zusammengesetzten aussagenlogischen Formeln. Eine Zeile in der Wahrheitstafel korrespondiert zu einer eindeutigen Belegung der elementaren Aussagen mit einem Wahrheitswert. In den Zellen schließlich finden sich die Wahrheitswerte der Aussagen unter den jeweiligen Belegungen. Weiterführende Betrachtungen zu Wahrheitstafeln sind in Abschnitt 2.3.1 der weiterführenden Betrachtungen zu finden. DNF und funktionale Vollständigkeit. Es lässt sich zeigen, dass man für eine gegebene Menge von elementaren Aussagen und eine beliebige Spalte in der zugehörigen Wahrheitstafel eine aussagenlogische Formel konstruieren kann, deren Auswertung genau die in der Spalte vorgegebenen Wahrheitswerte ergibt. Dies ist beispielsweise durch die Konstruktion der disjunktiven Normalform (DNF) möglich, ein Verfahren, welches in Vorlesungen wie „Rechnerstrukturen“ oder „Rechnerorganisation“ vorgestellt wird. Die resultierenden Formeln enthalten sogar lediglich die Junktoren ¬, ∧ und ∨. Man sagt daher auch, dass die Junktorenmenge {¬, ∧, ∨} funktional vollständig sei.a a Dieser Tatbestand wird später in Abschnitt 5.5 erneut aufgegriffen und dort auch formal bewiesen. Aussagen A und B, deren Wahrheitstafeleinträge gleich sind, werden als (semantisch) äquivalent bezeichnet (in Zeichen A ≡ B). Zum Beispiel kann die Konjunktion, die Implikation und die Äquivalenz wie folgt durch alleinige Verwendung der Junktoren ¬ und ∨ ausgedrückt werden. A ∧ B ≡ ¬(¬A ∨ ¬B) A ⇒ B ≡ ¬A ∨ B A ⇔ B ≡ ¬(¬(¬A ∨ B) ∨ ¬(¬B ∨ A ))) (2.1) (2.2) (2.3) Die Gleichungen (2.1) - (2.3) zeigen, dass Negation und Disjunktion alleine ausreichen, um alle in Definition 2.2 eingeführten Aussagenverknüpfungen auszudrücken. 2.1 Aussagen 21 Dies ist nicht überraschend: Da die Junktorenmenge {¬, ∧, ∨} funktional vollständig ist, und sich ∧ durch ¬ und ∨ ausdrücken lässt (Äquivalenz 2.1), ist natürlich auch die Menge {¬, ∨} funktional vollständig, also insbesondere auch ausreichend, um Implikation und Äquivalenz auszudrücken.6 NAND und XOR Definiert man die „Nicht-Und“-Verknüpfung (auch NANDVerknüpfung, Not AND, genannt), durch A ∧ B =df ¬(A ∧ B), so lässt sich die Negation ausdrücken durch ¬A ≡ A ∧ A und die Disjunktion durch A ∨ B ≡ ¬A ∧ ¬B ≡ (A ∧ A ) ∧(B ∧ B). Die NAND-Verknüpfung alleine ist also bereits funktional vollständig. Dies war insbesondere im Schaltwerksentwurf von Bedeutung, wegen des Vorteils, möglichst einheitliche, als Massenware produzierbare Bausteine verwenden zu können. Mit den heutigen Produktionstechniken, die es erlauben, komplexe Systeme in ein Stück Hardware zu „gießen“ (Stichwort: System on a Chip (SoC)), ist die Bedeutung dieser Universalbausteine jedoch stark zurückgegangen. Aufzufinden ist er noch bei Flash-Speichermodulen, wo NAND-Flash einen Realisierungstyp darstellt. Eine weitere Verknüpfung, die weniger in der mathematischen Logik, dafür umso mehr in der Informatik eine Rolle spielt, ist das sogenannte XOR (von engl. eXclusive OR, „exklusives Oder“, auch als Kontravalenz oder Antivalenz bezeichnet), ausgedrückt durch das Zeichen ⊕. Die Aussage A ⊕ B ist genau dann wahr, wenn entweder A oder B, aber nicht beide wahr sind. Es lässt sich leicht überprüfen, dass dies die Negation der Äquivalenz ist. Zwar ist die XOR-Verknüpfung nicht funktional vollständig. Dafür besitzt sie die bemerkenswerte Eigenschaft, dass eine zweifache Anwendung mit dem gleichen Operanden wieder den ursprünglichen Wahrheitswert ergibt, d.h. (A ⊕ B) ⊕ B besitzt den gleichen Wahrheitswert wie A . In der Informatik ist sie insbesondere in der Kryptographie von Bedeutung, da die gleiche Operation für Kodieren und Dekodieren verwandt werden kann. Es sei darauf hingewiesen, dass die semantische Äquivalenz ≡ nicht etwa Junktor der Aussagenlogik ist, sondern – vergleichbar zu „genau dann, wenn ...“ – Metasymbol, um Aussagen über Aussagen zu formulieren. Es gilt jedoch, dass für äquivalente Aussagen A ≡ B die Aussage A ⇔ B eine Tautologie, sprich eine immer wahre Aussage ist. Anders ausgedrückt ist A ≡ B eine Aussage auf der Argumentationsebene, während A ⇔ B die logisch gleiche Aussage auf der Objektebene ist. Die Äquivalenzen 2.1 und 2.2 von Seite 20 sind exemplarisch in der folgenden Wahrheitstafel bewiesen: 6 Der Beweis der funktionalen Vollständigkeit von {¬, ∨} ist Gegenstand von Abschnitt 5.5. 22 2 Aussagen und Mengen A f f w w B f w f w ¬A ¬B ¬A ∨ ¬B ¬(¬A ∨ ¬B) A w w w f w f w f f w w f f f f w ∧ B ¬A ∨ B A ⇒ B f w w f w w f f f w w w Im Folgenden werden semantische Äquivalenzen von aussagenlogischen Formeln aufgelistet, welche insbesondere für die Vereinfachung von Formeln von Bedeutung sind. T und F stehen hierbei als Symbole für eine immer wahre bzw. immer falsche Aussage. Den Nachweis dieser Äquivalenzen mit Hilfe von Wahrheitstafeln überlassen wir dem Leser als Übungsaufgabe. Lemma 2.1 (Semantische Äquivalenzen). Es gelten für beliebige Aussagen A , B, C die folgenden Äquivalenzen: A ∧B ≡B∧A A ∨B ≡B∨A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) (A ∨ B) ∨ C ≡ A ∨ (B ∨ C ) A ∧ (A ∨ B) ≡ A A ∨ (A ∧ B) ≡ A A ∧ (B ∨ C ) ≡ (A ∧ B) ∨ (A ∧ C ) A ∨ (B ∧ C ) ≡ (A ∨ B) ∧ (A ∨ C ) (Kommutativität) (Assoziativität) (Absorption) (Distributivität) A ∧ ¬A ≡ F A ∨ ¬A ≡ T (Negation) A ∧A ≡A A ∨A ≡A (Idempotenz) ¬ ¬A ≡ A (Doppelnegation) ¬(A ∧ B) ≡ ¬A ∨ ¬B ¬(A ∨ B) ≡ ¬A ∧ ¬B T∧A ≡A F∨A ≡A (deMorgansche Regeln) (Neutralität) Die Gleichheitsgesetze aus Lemma 2.1 sind Grundlage für das axiomatische Beweisen, auf das wir in Abschnitt 2.1.3 detaillierter eingehen werden. 2.1 Aussagen 23 Negationsnormalform. Die sogenannten De Morganschen Regeln erlauben es, eine Negation von einem Junktor auf die Operanden zu verschieben. Bei der Verarbeitung von aussagenlogischen Formeln ist es oftmals unerwünscht, dass ganze Teilausdrücke negiert werden. Die wiederholte Anwendung der De Morganschen Regeln sowie der Elimination von Doppelnegationen erlaubt es, die Formel in eine semantisch äquivalente Formel zu transformieren, in der Negationen nur noch unmittelbar vor elementaren Aussagen auftreten. Dieses Vorgehen bezeichnet man als negation pushing, die resultierende Form bezeichnet man als Negationsnormalform (NNF). Technisch stellt der Nachweis der Existenz der Negationsnormalform im Vergleich zur funktionalen Vollständigkeit von {¬, ∨} (siehe Seite 2.1.1) eine deutlich größere Herausforderung dar. Dieses ist in Abschnitt 5.7.1 näher ausgeführt. Die wohl bedeutendste Anwendungsdomäne der Aussagenlogik liegt im Bereich der digitalen Schaltkreise. Näheres hierzu ist in Abschnitt 2.3.1 der weiterführenden Betrachtungen ausgeführt. 2.1.2 Prädikatenlogik Genügt die Aussagenlogik zur Beschreibung der Theorie digitaler Schaltkreise, so ist sie für die Behandlung allgemeiner mathematischer Theorien zu eingeschränkt, da die innere Struktur der elementaren Aussagen dort eine Rolle spielt. Beispielsweise folgen die Aussagen 1+2 = 2+1 2+3 = 3+2 6 + 14 = 14 + 6 .. . alle demselben Muster. Sie drücken nämlich die Kommutativität der Addition natürlicher Zahlen aus. Um auch derartige Muster erfassen zu können, wurden Quantoren wie „für alle“ und „es gibt“ in der Prädikatenlogik eingeführt. Bezeichnet N die Menge der natürlichen Zahlen,7 so spezifiziert die prädikatenlogische Formel ∀ x ∈ N. ∀ y ∈ N. x + y = y + x 7 Im Verlauf dieser Trilogie gehen wir davon aus, dass auch 0 eine natürliche Zahl ist. Für die Menge der echt positiven natürlichen Zahlen schreiben wir dann N>0 . 24 2 Aussagen und Mengen die Eigenschaft der Kommutativität. Wir verzichten in dieser Buchreihe auf eine formal fundierte Einführung der Prädikatenlogik und verweisen auf vertiefende Lehrwerke, etwa Logik für Informatiker [15]. Wesentlicher Bestandteil der Prädikatenlogik ist eine zugrundeliegende Struktur. Hierunter versteht man eine nichtleere Menge sogenannter Individuen mit zugehörigen Operationen und Relationen (siehe Abschnitt 3.1). Ein wichtiges Beispiel für eine solche Struktur sind die natürlichen Zahlen N, auf denen die Operationen Addition und Multiplikation definiert sind, und welche über die Gleichheits- und ≤-Relation miteinander verglichen werden können. Die Prädikatenlogik über den natürlichen Zahlen erweitert die Aussagenlogik in folgender Weise: 1. Die Junktoren der Aussagenlogik dürfen wie gewohnt zum Kombinieren von Aussagen verwendet werden. 2. Zusätzlich dürfen relationale Ausdrücke mit freien Variablen über natürlichen Zahlen, wie z.B. n + 1 ≤ 3, verwendet werden. Man spricht hier von Prädikaten oder Aussageformen.8 Aussageformen dürfen auch mehrere freie Variablen enthalten. 3. Aussageformen können unter Verwendung des All- und Existenzquantors in Aussagen überführt werden. Für eine Aussageform A (n) mit freier Variable n bilden wir die: • Allaussage über A : ∀ n. A (n) Diese Allaussage ist genau dann wahr, wenn A (n) für alle Werte n ∈ N wahr ist. • Existenzaussage über A : ∃ n. A (n) Diese Existenzaussage ist genau dann wahr, wenn A (n) für mindestens einen Wert n ∈ N wahr ist. Ist die zugrundeliegende Struktur der natürlichen Zahlen nicht aus dem Kontext ersichtlich, schreiben wir auch ∀ n ∈ N. A (n) bzw. ∃ n ∈ N. A (n). In der quantifizierten Formel ist die Variable n an den Quantor gebunden und kann somit nicht durch äußere quantifizierte Formeln referenziert werden.9 Auf einen Quantor muss nicht immer unmittelbar eine Aussageform folgen. Ist beispielsweise B eine Aussageform mit zwei freien Variablen, so kann man z.B. auch ∀ n. ∃ m. B(n, m) schreiben. Natürlich lassen sich Prädikatenlogiken auch über anderen Strukturen als den natürlichen Zahlen definieren. Weiterhin gelten folgende Konventionen. Um Klammern einzusparen vereinbart man, dass Quantoren schwächer binden als alle Junktoren. Soll eine engere Bindung zum Ausdruck gebracht werden, müssen quantifizier8 Der Begriff Aussageform bringt zum Ausdruck, dass eine solche erst durch das Zuordnen von Werten für die Variablen zur Aussage wird. Beispielsweise ergibt n + 1 ≤ 3 für n 7→ 2 eine wahre, aber für n 7→ 3 eine falsche Aussage. 9 Diese Form der Bindung folgt demselben Lokalitätsprinzip (scoping), wie man es auch von Programmiersprachen mit lokalen Variablen kennt. 2.1 Aussagen 25 te Aussagen entsprechend geklammert werden. Statt ¬(∀ n. A (n)) und ¬(∃ n. A (n)) schreiben wir kurz 6 ∀ n. A (n) und @ n. A (n). Geschachtelte quantifizierte Aussagen mit demselben Quantor, etwa ∀ x1 . ∀ x2 . . . . ∀ xn . A (x1 , . . . , xn ), können abgekürzt durch ∀ x1 , . . . , xn . A (x1 , . . . , xn ) dargestellt werden. Ihre volle Kraft entfaltet die Prädikatenlogik über die Einführung von Relationen als Abkürzungen für komplexere Teilformeln mit freien Variablen. Wir demonstrieren dies anhand der Eigenschaft des größten gemeinsamen Teilers (ggT). Als Hilfsmittel definieren wir zunächst die Teilbarkeitsrelation: n|m =df ∃ k ∈ N. n · k = m. In Worten: n teilt m, falls es eine natürliche Zahl k gibt, so dass das k-fache von n die Zahl m ergibt. Darauf aufbauend definieren wir eine dreistellige Relation ggT , die ausdrückt, wann eine natürliche Zahl x größter gemeinsamer Teiler der natürlichen Zahlen n und m ist: ggT (n, m, x) =df x|n ∧ x|m ∧ ∀ y ∈ N. (y|n ∧ y|m) ⇒ y ≤ x. Durch x|n ∧ x|m wird zunächst die Forderung ausgedrückt, dass x ein gemeinsamer Teiler von n und m ist. Die dann folgende Allaussage drückt die Forderung nach Maximalität aus, d.h. dass x mindestens so groß ist wie jeder andere gemeinsame Teiler. Da die ggT -Relation auch als Funktion (siehe Abschnitt 3.2) ggT : N × N → N angesehen werden kann, schreibt man statt ggT (n, m, x) auch x = ggT (n, m). Hier zeigt sich einer der wesentlichen Unterschiede zwischen Mathematik und Informatik: Anhand der obigen prädikatenlogischen Ausdrücke lässt sich die ggT Funktion mathematisch einwandfrei definieren. Zu einer Funktion im Sinne der Informatik gehört jedoch eine Berechnungsvorschrift, d.h. eine algorithmische Beschreibung, wie man zum korrekten Ergebnis gelangt. In der Definition des obigen ggT -Prädikats ist eine solche nicht enthalten! Selbst der Test auf Teilbarkeit liefert keine explizite Beschreibung, wie ein geeignetes k zu finden ist. Will man jedoch (formal) nachweisen (verifizieren), dass eine Implementierung der ggT -Funktion tatsächlich die gewünschte mathematische Intuition realisiert, so erfordert das eine entsprechende formale Beschreibung dieser Intuition, etwa in Form der obigen prädikatenlogischen Formel. Nur so hat man eine solide Basis, um den geeigneten Archimedischen Punkt zu ermitteln, d.h., eine Invariante, die ausreicht, das gewünschte Korrektheitsresultat zu etablieren. Konkret betrachten wir dieses Invarianten-orientierte Vorgehen nun anhand des in Kapitel 1 eingeführten Euklidischen Algorithmus zur Berechnung des größten gemeinsamen Teilers. Die Funktionsweise des Verfahrens ist denkbar einfach: Es wird nämlich solange die kleinere von der größeren Zahl abgezogen wird, bis eine der Zahlen schließlich auf null reduziert worden ist. Die andere Zahl ist dann der ggT des ursprünglichen Zahlenpaares. Dass bei diesem Vorgehen tatsächlich der ggT berechnet wird, liegt an den folgenden Faktoren: 26 2 Aussagen und Mengen • Invarianz: Die Differenzbildung verändert nicht die Menge der gemeinsamen Teiler der Ausgangszahlen. Grundlage dieser Invarianzeigenschaft ist der folgende Satz 2.1. • Terminierung: Der Euklidische Algorithmus bricht immer nach einer endlichen Anzahl von Schritten ab. Grundlegend dafür ist die Beobachtung, dass die Summe der beiden beteiligten natürlichen Zahlen in jedem Schritt echt verringert wird. Ein formaler Zugang zur Terminierung ist an späterer Stelle zu finden (siehe Abschnitt 5.3.1). • Konsequenz: Aus der Invarianzeigenschaft und der Terminierung folgt, dass das Verfahren mit zwei natürlichen Zahlen 0 und nT abbricht. Da jede natürliche Zahl Teiler der Null ist (man beachte n · 0 = 0), ist nT ein gemeinsamer Teiler der Ausgangszahlen, wird aber gleichzeitig von allen gemeinsamen Teilern der Ausgangszahlen geteilt. Folglich ist nT selbst der größte gemeinsame Teiler. Satz 2.1. Seien m, n natürliche Zahlen mit m < n und x ein Teiler von m. So gilt: x|n ⇔ x|(n − m). Beweis. Wegen x|m existiert eine natürliche Zahl k mit x · k = m. “⇒”: Wegen x|n existiert eine natürliche Zahl k0 mit x · k0 = n. Also haben wir: n − m = (x · k0 ) − (x · k) = x · (k0 − k). “⇐”: Wegen m < n gilt k ≤ k0 und damit (k0 −k) ∈ N, woraus schließlich x|(n−m) folgt. Wegen x|(n − m) existiert eine natürliche Zahl k0 mit x · k0 = (n − m). Also haben wir: n = (n − m) + m = (x · k0 ) + (x · k) = x · (k0 + k), woraus sofort x|n folgt. Kompositionalität Die Einführung parametrisierter Abkürzungen komplexer Teilformeln wie ggT (n, m, x) und x|m und die dadurch ermöglichte baukastenartige Konstruktion immer komplexerer Formeln illustriert den Effekt der Kompositionalität bei der Erstellung komplexer Beschreibungen. Schon das Beispiel des ggT macht deutlich, wie einfach und strukturiert man auf diese Weise eine spezifizierende Formel konstruieren kann, die man schwerlich finden würde, wenn man gedanklich auf dem Niveau der elementaren logischen Operatoren bleiben würde. Die Einführung abgeleiteter,a parametrisierter Prädikate erlaubt es jedoch, die Basislogik sukzessive, zu mächtigen (domänenspezifischen) Spezifikationssprachen zu erweitern. Das führt zu ei- t u 2.1 Aussagen 27 nem Bibliotheks-basierten Vorgehen, wie es auch bei den meisten modernen Programmiersprachen heute üblich ist. a Abgeleitet steht hier für mit den „Mitteln der Ausgangssprache (hier die Prädikatenlogik)“ ausdrückbar. In diesem Sinne sind Prozeduren und Methoden einer Programmiersprache auch aus den Elementaranweisungen abgeleitete Funktionalitäten! Im Gegensatz dazu führt aber die (Neu-)Einführung eines Prozedurkonzeptes selbst, beispielsweise in die WHILE-Sprache [19], zu einer echten Spracherweiterung. Eine häufige Quelle von Missverständnissen ist die Auswirkung logischer Negation auf quantifizierte Formeln, da diese sich nicht unbedingt mit dem Alltagsverständnis deckt. So ist die Negation von alle keinesfalls keiner, sondern eben nicht alle. Formal gilt folgender Zusammenhang: Lemma 2.2 (Negation von quantifizierten Formeln). Sei A eine Aussageform mit einer freien Variablen x. Dann gelten die folgenden Äquivalenzen: 1. ¬(∀ x. A (x)) ≡ ∃ x. ¬A (x) 2. ¬(∃ x. A (x)) ≡ ∀ x. ¬A (x) Beweis. Wir zeigen exemplarisch die erste Eigenschaft, wobei wir die Struktur, beispielsweise die natürlicher Zahlen, als gesetzt voraussetzen. gdw. gdw. gdw. gdw. ¬(∀ x. A (x)) ∀ x. A (x) A (x) ¬A (x) ∃ x. ¬A (x) ist wahr ist falsch ist falsch für mindestens ein x ist wahr für mindestens ein x ist wahr (Auswertung ¬) (Auswertung ∀) (Auswertung ¬) (Auswertung ∃) Negationsnormalform. Ähnlich wie über die De Morganschen Regeln lassen sich auch mit den obigen Äquivalenzen Negationen auf eine tiefere Ebene verschieben. Eine Negationsnormalform, wie in Abschnitt 2.1.1 beschrieben, lässt sich also auch für prädikatenlogische Formeln definieren. Hierbei wendet man – solange dies möglich ist – die Elimination doppelter Negationen, die De Morganschen Regeln oder die Regeln zur Negation von Quantoren an. Das Ergebnis ist eine prädikatenlogische Formel, in der Negationssymbole nur noch unmittelbar vor aus Aussageformen gebildeten Aussagen auftreten. Im Bereich sogenannter Fixpunktlogiken [7, 17] ist dieses Vorgehen von großer praktischer Bedeutung, da es erlaubt, den einzigen nicht-monotonen Operator,a die Negation, zu beherrschen. Tatsächlich kann Monotonie, oder gleichbedeutend Ordnungserhaltung, als der zentrale Archimedische Punkt der Fixpunkttheorie angesehen werden. a Der Begriff der Monotonie wird in Band 2 (Algebraisches Denken) detailliert behandelt. t u 28 2 Aussagen und Mengen 2.1.3 Logische Beweisprinzipien Während Wahrheitstafeln ausreichen, um beliebige Sätze der Aussagenlogik zu beweisen, kann ein tabellarischer Ansatz in der Prädikatenlogik wegen der im Regelfall unendlich großen zugrundeliegenden Strukturen nicht mehr zielführend sein. Es gibt zwei prinzipiell verschiedene Ansätze, um diesem Problem zu begegnen. Zum einen kann ein Beweis semantisch vorgehen, d.h. sich direkt an der Definition der Semantik der logischen Konstrukte (Junktoren und Quantoren) orientieren. Ein Beispiel für ein solches Vorgehen ist der Beweis zu Lemma 2.2.10 Zum anderen können als gültig nachgewiesene Regeln verwendet werden, um die zu beweisende Behauptung syntaktisch schrittweise vereinfachend umzuformen. Auf diesem Vorgehen basieren insbesondere automatisierte Beweissysteme. Der folgende Beweis für die semantische Äquivalenz T ∨ A ≡ T stützt sich ausschließlich auf die Regeln aus Lemma 2.1: T ∨ A ≡ (A ∨ ¬A ) ∨ A ≡ A ∨ (¬A ∨ A ) ≡ A ∨ (A ∨ ¬A ) ≡ (A ∨ A ) ∨ ¬A ≡ A ∨ ¬A ≡T (Negation) (Assoziativität) (Kommutativität) (Assoziativität) (Idempotenz) (Negation) Dieser sechsschrittige Beweis illustriert ein Vorgehen, das zentral für die gesamte Mathematik und insbesondere die Algebra ist: Das axiomatische Beweisen. Hier wird die Gültigkeit einer Behauptung nachgewiesen, indem man sie aus bekannten, als wahr angenommenen Sätzen (den Axiomen) durch „Ersetzen von Gleichem durch Gleiches“ herleitet. In diesem Beispiel waren dies die in Lemma 2.1 festgehaltenen Äquivalenzen. Wir halten dieses Vorgehen in Form eines allgemeinen (informellen) Beweismusters fest. Beweisprinzip 1 (Axiomatisches Beweisen) Basierend auf einer Menge von Axiomen, also als wahr vorausgesetzten Sätzen, wird die zu zeigende Behauptung durch „Ersetzen von Gleichem durch Gleiches“ schrittweise abgeleitet. Immer wenn in der Folge ein praktisch besonders relevantes Beweismuster eingesetzt wird, werden wir dies in der obigen Weise herausstellen. 10 Da die Semantik von Prädikatenlogik in diesem Kapitel nicht vollständig formal ausgeführt ist, sollte man genau genommen von einem intuitiv semantischen Beweis sprechen. In Abschnitt 4.3 werden wir anhand der formalen Semantik genauer argumentieren. 2.1 Aussagen 29 Verglichen mit den zukünftigen Beweismustern ist die Formulierung in Beweisprinzip 1 hier bewusst etwas unscharf gehalten. Wir werden das Prinzip des axiomatischen Beweisens jedoch im weiteren Verlauf dieses Buches wieder aufgreifen und präzisieren (siehe etwa Abschnitt 5.7.3). Insbesondere werden in den weiterführenden Betrachtungen zu diesem Kapitel (siehe Abschnitt 2.3.2) zahlreiche ergänzende Aspekte erwähnt. Argumentationsebenen und Kompositionalität. Beweise mittels Wahrheitstafeln etablieren Resultate direkt auf der semantischen Ebene (siehe dazu auch Abschnitt 4.3) durch systematisches Einsetzen aller Möglichkeiten. Im Gegensatz dazu sind axiomatische Beweise syntaktisch. Sie basieren lediglich auf der semantikerhaltenden Umformung konkreter Darstellungen. Die Semantikerhaltung der individuellen Schritte folgt hier aus dem zugrundeliegenden Axiomensystem oder aus bereits daraus abgeleiteten Gleichungen (Theoremen und Lemmata). Die Korrektheit dieses Vorgehens fußt auf der Kompositionalität der zugrundeliegenden semantischen Gleichheit, die das aus dem Mathematikunterricht in der Schule bekannte, algebraische Prinzip des „Ersetzens von Gleichem durch Gleiches“ bei Termumformungen fundiert: Die Semantik eines komplexen Konstruktes (Terms, Programms, Formel) hängt nicht von der konkreten Ausgestaltung ihrer Komponenten ab, sondern nur von deren Semantik. Um den Wert einer Summe s = a + b zu berechnen, genügt es z.B. zu wissen, dass a den Wert 7 und b den Wert 4 hat, um zu schließen, dass s den Wert 11 hat. Wie der Wert für a und b berechnet wird, spielt dabei keine Rolle. Kompositionalität ist ein Leitparadigma der Informatik, das konsequent bei der Definition der Semantik von Kalkülen, Logiken und (Programmier-)Sprachen angestrebt wird, was insbesondere im Kontext paralleler Programmiersprachen nicht immer einfach ist. Im Rahmen der Trilogie werden wir aber selten an derartige Grenzen stoßen. In der mathematischen Praxis verwendet man in Beweisen typischerweise ein gemischtes Vorgehen mit semantischen und axiomatischen Bestandteilen. Direktes vs. indirektes Beweisen Alle bislang vorgestellten Beweistypen, egal ob semantisch oder axiomatisch, zeichnen sich dadurch aus, dass die zu zeigende Behauptung direkt nachgewiesen wird. Man spricht hier auch von einem direkten Beweis. Oft ist ein solcher Zugang aber nicht zielführend. Man denke etwa an Aussagen wie den Satz von Euklid (siehe Beispiel 2.1(3)), der besagt, dass es unendlich viele Primzahlen gibt. Bei einem direkten Beweis müsste es gelingen, eine unendliche Menge von Primzahlen konstruktiv zu erfassen. Einfacher ist es da, die Negation der Aussage, nämlich dass es nur endlich viele Primzahlen gibt, zu widerlegen: Das Produkt all dieser endlich vielen Primzahlen plus 1 wäre mit all diesen Primzahlen teilerfremd und damit eine weitere Primzahl! In Kapitel 3 werden wir das Beweisprinzip des Widerspruchsbeweises (siehe Beweisprinzip 6) und des Beweises durch Kontraposition (siehe Beweisprinzip 2) als typische Vertreter des indirekten Beweises kennenlernen. 30 2 Aussagen und Mengen Die Mächtigkeit dieser indirekten Beweise basiert auf dem Grundprinzip tertium non datur (lateinisch „ein Drittes gibt es nicht“): Es gibt nur die Wahrheitswerte wahr und falsch und nichts Drittes. Dieses Grundprinzip wird von einigen Mathematikern, Logikern und Informatikern angezweifelt und führte zu Entwicklungen wie der konstruktiven Mathematik und der konstruktiven und intuitionistischen Logik [18]. 2.2 Mengen Die Mengenlehre als eigenständige mathematische Disziplin geht zurück auf Arbeiten von Georg Cantor aus dem späten 19. Jahrhundert. Im Rahmen seiner Arbeit formulierte er folgende Mengendefinition: Definition 2.3. Unter einer Menge verstehen wir jede Zusammenfassung M von bestimmten wohlunterschiedenen Objekten m unserer Anschauung oder unseres Denkens (welche die Elemente von M genannt werden) zu einem Ganzen. Für eine Menge M kennzeichnet die Aussage m ∈ M, dass m ein Element von M ist. Für die negierte Aussage ¬(m ∈ M) wird abkürzend auch m ∈ / M geschrieben. Mengen lassen sich in unterschiedlicher Weise beschreiben. Endliche Mengen lassen sich durch Aufzählung ihrer Elemente beschreiben. So stellt F =df {♣, ♠, ♥, ♦} die Menge der Kartenfarben von Spielkarten und W =df {Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag} die Menge der Wochentage dar. Auch für unendliche Mengen ist eine solche Beschreibung prinzipiell möglich, wenn die Beschreibung unmissverständlich ist. So kann man die aus der Schulmathematik bekannte Menge der natürlichen Zahlen aufzählend beschreiben als N = {0, 1, 2, 3, . . .} und die Menge der geraden natürlichen Zahlen als Nger = {0, 2, 4, 6, . . .}.11 Die beschreibende (oder auch intensionale) Form charakterisiert Mengen, indem die enthaltenen Elemente durch ein Prädikat charakterisiert werden. So kann die Menge der Primzahlen beschrieben werden durch12 11 In Kapitel 4 wird das Konzept des induktiven Definierens als Formalisierung der “. . .”-Notation eingeführt. 12 In dieser und der weiter unten folgenden, alternativen Definition von Prim gibt es eine unglückliche Überlappung bei den Standard-Notationen für den Teilbarkeitsoperator | und das Trennsymbol bei der Mengenschreibweise |. Abschnitt 4.5.1 diskutiert dieses in gewisser Weise kaum vermeidbare Überlappungsproblem, das im Laufe der Trilogie noch öfter auftreten wird und typischerweise eine kontextabhängige Interpretation der Notation verlangt. 2.2 Mengen 31 Prim =df {p | p ∈ N ∧ p 6= 1 ∧ {n | n ∈ N ∧ n | p} = {1, p}}. Allgemein hat die beschreibende Form einer Menge M die Gestalt M = {m | A (m)}, wobei A (m) ein Prädikat über m, also eine Aussageform mit freier Variablen m ist. Sind die Elemente von m aus einer durch A (m) beschriebenen Grundmenge, so kann diese Information auch der Variablenangabe zugeordnet werden. Im Falle der Primzahlen hätten wir also folgende kompaktere Schreibweise: Prim =df {p ∈ N | p 6= 1 ∧ {n ∈ N | n | p} = {1, p}}. Ist A (m) ein unerfüllbares Prädikat, so wird dadurch die leere Menge 0/ beschrieben. Insbesondere gilt: 0/ = {x | F}. Die leere Menge ist die eindeutig bestimmte Menge, die kein Element enthält. Es gilt also ∀ x. x ∈ / 0. / Diese Aussage ist jedoch weniger überraschend, als die für beliebige Aussageformen A geltende Formel ∀ x ∈ 0. / A (x). Hierbei handelt es sich um eine Variante des ex falso quodlibet (aus dem Falschen folgt beliebiges), die nicht nur bei Mathematikfremden Unverständnis erntet, sondern wegen ihrer Randeigenschaft auch eine Quelle zahlreicher Fehler in vermeintlich schlüssigen Beweisführungen ist. Auch wenn „Mengen von Mengen“ erst zu einem späteren Zeitpunkt behandelt werden, so sei bereits an dieser Stelle angemerkt, dass sich die leere Menge 0/ von der Menge {0}, / welche nur die leere Menge (aber damit im Gegensatz zur leeren Menge überhaupt ein Element) enthält, unterscheidet! Charakteristisch für Mengen sind die folgenden zwei Eigenschaften: • Eine Menge definiert keine Anordnung ihrer Elemente. Die Menge {1, 2, 3} unterscheidet sich nicht von der Menge {3, 2, 1}. • Elemente einer Menge haben keine Häufigkeit. Von Interesse ist ausschließlich, welche Elemente vorhanden sind. So bezeichnet {1, 1, 2, 2} die gleiche Menge wie {1, 2}. 2.2.1 Mengenbeziehungen Bei der Betrachtung von Mengen ist es oftmals von Interesse, wie diese sich zueinander verhalten. Eine naheliegende Fragestellung beim Vergleichen zweier Mengen ist natürlich, ob diese die gleichen Elemente enthalten, also ob die Mengen an sich gleich sind. Aber auch im Falle ungleicher Mengen gibt es interessante Beziehungen. Sind beispielsweise alle Elemente der einen Menge auch in der anderen Menge enthalten, spricht man hier von einer Teilmengenbeziehung oder auch Inklusion. Diese Betrachtung liefert die folgenden formal gefassten Mengenbeziehungen. 32 2 Aussagen und Mengen Definition 2.4 (Mengenbeziehungen). Seien A und B Mengen. Es gelten die folgenden Beziehungen: 1. A ⊆ B (sprich A ist Teilmenge von B) ⇔df (∀ x. x ∈ A ⇒ x ∈ B) 2. A = B (sprich A ist gleich B) ⇔df A ⊆ B ∧ B ⊆ A. 3. A ⊂ B (sprich A ist echte Teilmenge von B) ⇔df A ⊆ B ∧ A 6= B.13 t u Per Definition ist die leere Menge Teilmenge jeder anderen Menge. Die (echte) Teilmengenbeziehung von Mengen lässt sich anschaulich in sogenannten VennDiagrammen (Abb. 2.1) darstellen. Hier werden Mengen durch geometrische Formen (z.B. Kreise) repräsentiert, welche sich überdecken, ineinander enthalten sind, sich überschneiden oder schnittfrei sind. Anhand der Betrachtungen aus dem vorigen Abschnitt wird schnell klar, dass die leere Menge 0/ Teilmenge jeder beliebigen Menge A ist: 0/ ⊆ A. Die Allquantifizierung in der Definition von ⊆ beschränkt sich hier auf die Elemente der leeren Menge. A B A⊂B Abb. 2.1 Venn-Diagramm der echten Teilmengenbeziehung 2.2.2 Potenzmengen Mengen, deren Elemente selbst Mengen über einer Grundmenge M sind, bezeichnet man als Mengensysteme über M. Ein besonders wichtiges Mengensystem ist die Menge aller Teilmengen von M: Definition 2.5 (Potenzmenge). Sei M eine Menge. Die Potenzmenge von M ist definiert durch P(M) =df {M 0 | M 0 ⊆ M}. Zu bemerken ist hier, dass die Potenzmenge P(M) stets sowohl die Grundmenge M als auch die leere Menge 0/ enthält, da stets 0/ ⊆ M sowie M ⊆ M gilt. Einen besonderen Fall stellt der Fall M = 0/ dar, wo diese beiden Mengen identisch sind und das einzige Element der zugehörigen Potenzmenge darstellen; es gilt P(0) / = {0} / 6= 0. / Die Potenzmenge der leeren Menge ist also selbst nicht leer! In Abschnitt 3.2.3 13 A 6= B steht dabei für ¬(A = B). 2.2 Mengen 33 werden wir beweisen, dass die Potenzmenge jeder beliebigen (auch unendlichen) Menge immer „größer“ ist als die Menge selbst. Beispiel 2.4. Für die Grundmenge M = {1, 2, 3} gilt P(M) = { 0, / {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, M }. Potenzmengen bilden eine für die Informatik, und hier insbesondere für das Verständnis von (Programmiersprach-)Semantik bedeutende mathematische Struktur: die vollständigen Verbände. Tatsächlich kann man Potenzmengen als den Prototypen der vollständigen Verbände ansehen, und diesen allgemeineren Begriff als eine, die wesentlichen Merkmale erhaltende Abstraktion. Der Folgeband Algebraisches Denken führt in die elementaren Grundlagen der zugehörigen Theorie ein. 2.2.3 Mengenverknüpfungen Analog zu den logischen Junktoren, welche Aussagen miteinander verknüpfen, existieren auch Mengenverknüpfungen, welche die Bildung neuer Mengen aus bestehenden erlauben. Definition 2.6 (Verknüpfung von Mengen). Seien A und B Mengen. Dann sind folgende Mengenverknüpfungen definiert: • Vereinigung A ∪ B =df {x | x ∈ A ∨ x ∈ B} • Schnitt A ∩ B =df {x | x ∈ A ∧ x ∈ B} • Differenz A \ B =df {x | x ∈ A ∧ x 6∈ B} • Symmetrische Differenz A ∆ B =df (A ∪ B) \ (A ∩ B) t u Wie man an der obigen Definition erkennt, weisen die aussagenlogischen Junktoren ∧ und ∨ mit den Mengenverknüpfungen ∩ und ∪ nicht nur optische Ähnlichkeit auf. Vielmehr sind sie zentral für die Definition derselben. Darüber hinaus entspricht die symmetrische Differenz ∆ der XOR-Verknüpfung, d.h. A ∆ B = {x | x ∈ A ⊕ x ∈ B}. Falls A ∩ B = 0/ gilt, so nennt man A und B disjunkt. Für eine gegebene Grundmenge M mit Teilmenge A ⊆ M ist weiterhin das Komplement von A definiert als A{ =df M \ A. In Abbildung 2.2 finden sich zu jeder der oben definierten Verknüpfungen entsprechende Venn-Diagramme. Die aus der Verknüpfung resultierenden Mengen sind dabei jeweils grau dargestellt. 34 2 Aussagen und Mengen A∩B A A∪B B A B A∆ B A B A\B A B\A B A B Abb. 2.2 Venn-Diagramme Beispiel 2.5. Seien Prim und Nger die Menge der Primzahlen und der geraden natürlichen Zahlen, wie auf Seite 30 definiert. Es gilt: • Prim ∩ Nger = {2} • Prim ∪ Nger = {0, 2, 3, 4, 5, 6, 7, 8, 10, . . .} • Prim \ Nger = {3, 5, 7, 11, 13, . . .} • Nger \ Prim = {0, 4, 6, 8, 10, . . .} • Nger ∆ Prim = {0, 3, 4, 5, 6, 7, 8, 10, . . .} Beachte: 9 6∈ Prim ∪ Nger Korrespondierend zu den Gesetzen der Aussagenlogik (siehe Lemma 2.1) gelten folgende Gleichheitsgesetze auf Mengen: 2.2 Mengen 35 Lemma 2.3 (Mengengesetze). Seien A, B,C Teilmengen einer gemeinsamen Grundmenge M. Dann gilt:14 A∩B = B∩A A∪B = B∪A (Kommutativität) (A ∩ B) ∩ C = A ∩ (B ∩ C) (A ∪ B) ∪ C = A ∪ (B ∪ C) (Assoziativität) A ∩ (A ∪ B) = A A ∪ (A ∩ B) = A (Absorption) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) (Distributivität) A ∩ A{ = 0/ A ∪ A{ = M (Komplement) A∩A = A A∪A = A (Idempotenz) A{ { = A (Doppelkomplement) (A ∩ B){ = A{ ∪ B{ (A ∪ B){ = A{ ∩ B{ (deMorgansche Gesetze) M ∩ A=A 0/ ∪ A = A (Neutralität) Die Vereinigung und der Schnitt von Mengen können auf beliebige Mengensysteme verallgemeinert werden. Definition 2.7 (Erweiterte Vereinigungen und Schnitte). Sei M ein Mengensystem über einer Grundmenge M. Dann gilt: 1. [ M 0 =df {m ∈ M | ∃ M 0 ∈ M. m ∈ M 0 } M 0 ∈M 2. \ M 0 =df {m ∈ M | ∀ M 0 ∈ M. m ∈ M 0 } M 0 ∈M Verkürzt können dieses Operationen auch als 14 [ M bzw. \ M geschrieben werden. t u Die Voraussetzung der gemeinsamen Grundmenge M ist nur für Gesetze erforderlich, die M selbst oder die Komplementoperation { enthalten. 36 2 Aussagen und Mengen Bei der Übertragung des Begriffes der Disjunktheit von Mengen auf mehrere MenT gen ist zu beachten, dass M = 0/ keinesfalls bedeutet, dass alle in M enthaltenen Mengen jeweils komplett verschiedene Elemente enthalten, sondern lediglich, dass kein Element in allen Mengen enthalten ist. Ist jedes Element nur in höchstens einer Menge enthalten, so sagt man, dass die Mengen aus M paarweise disjunkt sind. In einer prädikatenlogischen Formel lässt sich dies ausdrücken als: ∀ M1 , M2 ∈ M. M1 6= M2 ⇒ M1 ∩ M2 = 0. / 2.2.4 Mächtigkeit endlicher Mengen Mit der Mächtigkeit einer Menge M mit endlich vielen Elementen bezeichnen wir die Anzahl ihrer Elemente, die wir mit |M| bezeichnen.15 Die Mächtigkeit der leeren Menge beträgt 0, d.h.: |0| / = 0. Satz 2.2. Seien A und B endliche Mengen. Dann gelten die folgenden Gesetzmäßigkeiten: 1. |A\B| = |A| − |A ∩ B| 2. |A ∪ B| = |A| + |B| − |A ∩ B| 3. |A∆ B| = |A| + |B| − 2 · |A ∩ B| Beweis. 1. Für C ⊆ A gilt offensichtlich |A\C| = |A| − |C|, denn |A\C| = |{a ∈ A | a ∈ / C}| = |A| − |{a ∈ A | a ∈ C}| = |A| − |C|. Unter der Voraussetzung A\B = A\(A ∩ B) lässt die Vorüberlegung mit C =d f A ∩ B anwenden. Man erhält dann: |A\B| = |A\(A ∩ B)| = |A| − |A ∩ B|. Es bleibt noch der Nachweis von A\B = A\(A ∩ B). Nach Definition 2.4(2) müssen wir dazu zwei Inklusionen zeigen16 „⊆“: Sei a ∈ A\B. Dann gilt a ∈ A und a ∈ / B. Insbesondere folgt aus Letzterem a∈ / A ∩ B und damit auch a ∈ A\(A ∩ B). „⊇“: Sei a ∈ A\(A ∩ B). Dann gilt a ∈ A und a ∈ / A ∩ B. Aus Letzterem folgt nach de Morgan a ∈ / A oder a ∈ / B. Zusammen mit a ∈ A gilt also a ∈ / B und damit auch a ∈ A\B. 15 Teilweise findet sich auch die Notation ]M, um die Mächtigkeit explizit von anderen Interpretationen der Betragsstriche | · | abzugrenzen. 16 Die Definition von Gleichheit durch die beiden Inklusionen ist nicht unbedingt Standard, wohl aber das Prinzip, Gleichheit über die beiden Inklusionen zu beweisen. Dieses Beweismuster lässt sich zum Antisymmetrie-Beweisprinzip verallgemeinern, das wir in Band 2 vorstellen werden. 2.3 Weiterführende Betrachtungen 37 2. Für eine zu A disjunkte endliche Menge C gilt offenbar |A ∪C| = |A| + |C|. Weiterhin gilt A ∪ B = A ∪ (B\A), denn A ∪ (B\A) = {a | a ∈ A ∨ (a ∈ B ∧ a ∈ / A)} (Distr.) = {a | (a ∈ A ∨ a ∈ B) ∧ (a ∈ A ∨ a ∈ / A)} (Neg.) = {a | (a ∈ A ∨ a ∈ B) ∧ T} (Neutr.) = {a | a ∈ A ∨ a ∈ B} = A ∪ B Weil B\A definitionsgemäß zu A disjunkt ist, lässt sich die Vorüberlegung mit C =d f B\A anwenden. Wir erhalten. (1) |A ∪ B| = |A ∪ (B\A)| = |A| + |B\A| = |A| + |B| − |A ∩ B|. 3. Wegen A∆ B = (A ∪ B)\(A ∩ B) folgt (1) (2) |A∆ B| = |A ∪ B| − |A ∩ B| = |A| + |B| − 2 · |A ∩ B|. t u Wie man den Begriff der Mächtigkeit geeignet auf unendliche Menge verallgemeinern kann, ist nicht offensichtlich. Wir werden in Abschnitt 3.2.3 sehen, dass unendlich nicht gleich unendlich ist, und dass sich der hier eingeführte Mächtigkeitsbegriff elegant zur Erklärung dieser Unterschiede erweitern lässt. Antinomien Die „Cantorsche Mengenlehre“ stößt bei naiver Anwendung des Mengenbegriffes an ihre Grenzen. Es lassen sich nämlich auch solche „Mengen“ definieren, deren genauere Betrachtung zu logischen Widersprüchen führt. Solche paradoxen Mengen sind als Antinomien bekannt und werden im Abschnitt 2.3.5 der folgenden weiterführenden Betrachtungen ausführlicher behandelt. 2.3 Weiterführende Betrachtungen Wie auch jedes der nachfolgenden Kapitel werden wir das vorliegende Kapitel abschließen, indem wir einige der behandelten Aspekte weiter vertiefen. 38 2 Aussagen und Mengen 2.3.1 Aussagenlogik Größe von Wahrheitstafeln Bei der Betrachtung aussagenlogischer Formeln ist man selten explizit am Wahrheitswert aller individuellen Belegungen interessiert. Vielmehr stehen dort oft Fragen im Vordergrund wie: • Ist eine Aussage widersprüchlich (auch: unerfüllbar), d.h. unter keiner möglichen Belegung wahr? • Ist sie zumindest erfüllbar, d.h. unter mindestens einer Belegung wahr? • Oder ist sie gar eine Tautologie (auch: allgemeingültig), also unter jeder möglichen Belegung wahr? Man erkennt schnell, dass man für die eindeutige Beantwortung dieser Fragen mithilfe einer Wahrheitstafel nicht immer die gesamte Wahrheitstafel kennen muss. Beispielsweise genügt eine geeignete Belegung, um die Erfüllbarkeit nachzuweisen. Genauso einfach kann auch widerlegt werden, dass eine Aussage eine Tautologie ist. Ein positiver Beweis einer Tautologie mittels Wahrheitstafeln erfordert aber zwingend die gesamte Wahrheitstafel aufzubauen. Unglücklicherweise wächst die Größe einer Wahrheitstafel exponentiell mit der Anzahl elementarer Aussagen: Bei n elementaren Aussagen sind 2n Zeilen erforderlich. Sind im Falle von 2 elementaren Aussagen 4 Zeilen, wie in der obigen Wahrheitstafel, auch für einen Menschen noch überschaubar, so wird dies bei 5 elementaren Aussagen (32 Zeilen) bereits schwer und bei 10 elementaren Aussagen (1024 Zeilen) unmöglich. Auch Computer geraten spätestens ab n = 50 an ihre Grenzen. In spezialisierten Vorlesungen zur „Logik (für Informatiker)“ werden Algorithmen vorgestellt, welche den Test auf (Un-)Erfüllbarkeit aussagenlogischer Formeln, teilweise unter gewissen Einschränkungen, wesentlich effizienter als durch Berechnung einer Wahrheitstafel durchführen können. Beispielsweise erlauben moderne SATSolver17 [9] die Erfüllbarkeit von Formeln mit Hunderten von Elementaraussagen zu überprüfen. Konkreter terminieren diese Verfahren entweder mit einer erfüllenden Belegung oder mit dem Resultat, dass die betrachtete Aussage nicht erfüllbar ist. Anwendung: Digitale Schaltkreise. In der Aussagenlogik liegt der Fokus auf der Kombination elementarer Aussagen zu größeren Konstrukten. Die Struktur elementarer Aussagen ist nicht relevant. Die Aussagenlogik ist daher in Szenarien adäquat, wo nicht näher untersuchte Basisobjekte genau zwei Werte annehmen können. Dieses ist zum Beispiel in der Theorie digitaler Schaltkreise der Fall. Dort geht es um die Verarbeitung binärer Signale, die durch zwei unterschiedliche Spannungspotentiale, etwa 0 V (entspricht f oder 0) und 5 V (entspricht w oder 1), realisiert werden. Wir betrachten hier zunächst die Funktionalität eines Halbaddierers. Dieser addiert die an zwei Eingängen A und B anliegende Signale (entweder 0 oder 1) und 17 Siehe http://en.wikipedia.org/wiki/Boolean_satisfiability_problem 2.3 Weiterführende Betrachtungen 39 erzeugt dabei gegebenenfalls einen Überlauf (oder Übertrag), der von einem nachgeschalteten Volladdierer verarbeitet werden kann. Liegt an einem von beiden Eingängen eine 1 an, so ergibt sich als Summe am Ausgang Z ebenfalls 1, ein Überlauf geschieht nicht. Liegt jedoch an beiden Eingängen 1 an, so ist – wie in der schriftlichen Addition, hier in das Binärsystem übertragen – die Summe 0, dafür aber wird der Überlauf Ü auf 1 gesetzt. Abb. 2.3 Halbaddierer aus NAND-Bausteinen In Abbildung 2.3 findet sich das Schaltbild eines Halbaddierers, der ausschließlich aus NAND-Bausteinen besteht.18 Die Wahrheitstafel für die Gesamtfunktionalität des Halbaddierers ist in Tabelle 2.3 zu finden. C A 0 0 1 1 B 0 1 0 1 ¯B A∧ 1 1 1 0 D ¯C A∧ 1 1 0 1 E ¯B C∧ 1 0 1 1 Z ¯E D∧ 0 1 1 0 Ü ¯C C∧ 0 0 0 1 Tabelle 2.3 Wahrheitstafel zu Schaltung aus Abbildung 2.3 Wir werden digitale Schaltkreise an dieser Stelle nicht weiter vertiefen. Diese werden ausführlich in Vorlesungen wie Rechnerstrukturen/Rechnerarchitektur oder Elektrotechnik-Vorlesungen (wie z.B. Elektrotechnik und Nachrichtentechnik) behandelt. 2.3.2 Axiomatisches Beweisen Zentral für den Begriff des Axioms ist die Tatsache, dass dieses als wahr angenommen wird, ohne dass es bewiesen werden muss – und im strengen Sinne auch nicht bewiesen werden kann. Denn der Sinn eines Axiomensystems (einer Menge von 18 Dies ist aufgrund der funktionalen Vollständigkeit von NAND für jede Schaltung möglich. 40 2 Aussagen und Mengen Axiomen) ist es, eine abstrakte „Welt“ zu etablieren, über die dann weiterführende Aussage in Form von Theoremen und Lemmata gemacht werden können. Die so gewonnenen Resultate gelten dann für alle konkreten Instanzen dieser abstrakten Welt, also für alle Situationen, wo die Axiome Gültigkeit haben. Es besteht zunächst jedoch keinerlei Verpflichtung, mit dieser abstrakten Welt die Realität auch nur annähernd abzubilden. Betrachtet man beispielsweise die oberhalb der horizontalen Linie stehenden Gesetzmäßigkeiten aus Lemma 2.1 als ein (abstraktes) Axiomensystem, so kann man z.B. anhand einer Wahrheitstafel über die in Definition 2.2 definierte Semantik beweisen, dass die Prädikatenlogik eine Konkretisierung der durch diese Axiome charakterisierten, abstrakten Welt ist. Der in der abstrakten Welt geführte axiomatische Beweis für die Korrektheit der Aussage T ∨ A ≡ T etabliert damit automatisch die Gültigkeit dieser Aussage für die Prädikatenlogik. Das Gleiche gilt für die Idempotenzregeln. Aus Sicht eines Informatikers könnte man sagen, dass der Sinn dieses abstrakten Vorgehens die Wiederverwendung ist: Einmal etablierte Resultate können nach Prüfung der Randbedingungen (Gültigkeit der Axiome im konkreten Anwendungsgebiet) einfach übernommen werden. Beispielsweise können alle aus der oben angesprochenen Axiomatisierung abgeleiteten Resultate auch direkt als Mengengesetze interpretiert werden. Tatsächlich definieren die genannten fünf Axiome die sogenannten Booleschen Algebren (auch Boolesche Verbände genannt) [10], die insbesondere für die Informatik von zentraler Bedeutung sind und die wir im zweiten Band noch genauer kennenlernen werden. Die gesamte moderne Mathematik basiert auf solchen Axiomensystemen und insbesondere auf einer Axiomatisierung der Mengenlehre, die, je nach Variante, durchaus diskussionswürdig sind. Eine klassische Frage ist z.B., ob man das sogenannte Auswahlaxiom19 fordert oder nicht. Eine weiterführende Diskussion würden den Rahmen dieser Einführung sprengen. Interessierte seien daher auf [14] verwiesen. Bei der Wahl von Axiomatisierungen steht jedoch oft weniger die Frage von richtig oder falsch im Vordergrund, als nach deren Implikationen, wie etwa, ob sich im resultierenden System (der zugehörigen Theorie) als wichtig erachtete Sätze oder Eigenschaften ableiten lassen. Für die Axiomatisierung von Mengen sind das z.B. die intuitiven Gleichungen in Lemma 2.3 unterhalb der Linie, die sich tatsächlich aus den Gleichungen oberhalb der Linie, einem Kern üblicher Mengenaxiomatisierungen, ableiten lassen. Allgemeiner sind • Konsistenz (aus den Axiomen lässt sich nicht sowohl ein Satz als auch seine Negation ableiten) und • Vollständigkeit (sämtliche wahren Sätze lassen sich aus den Axiomen ableiten) typische Eigenschaften, die man von jedem Axiomensystem verlangen möchte. Dem sind jedoch enge Grenzen gesetzt: In Axiomensystemen hinreichender Kom19 Siehe http://de.wikipedia.org/wiki/Auswahlaxiom 2.3 Weiterführende Betrachtungen 41 plexität ist weder die Konsistenz beweisbar, noch die Vollständigkeit realisierbar. Dies wird in Abschnitt 2.3 noch genauer ausgeführt. Festzuhalten bleibt: Auch wenn Mathematik Grundlage vieler Naturwissenschaften ist, so ist sie nicht per se zu einer korrekten (was auch immer dies bedeuten mag) Abbildung der Wirklichkeit verpflichtet! Tatsächlich steht für viele Mathematiker, wie auch für den berühmten Informatiker Edsger Dijkstra20 , die Ästhetik im Vordergrund. Unabhängig davon, ob man meint, dass die Informatik eine ähnliche Freiheit wie die Mathematik genießt, oder aber zu einer Realitätsnähe verpflichtet ist, hat die Informatik hier das gleiche Problem wie die Mathematik (und die Naturwissenschaften): • Als wie „real“ die entwickelten Lösungen, Modelle, Simulationen, . . . angesehen werden, kann am Ende sogar vom Auge des Betrachters abhängen. Andererseits bestehen aber auch (zumindest) die gleichen Chancen: • Auch die Informatik entwickelt eine eigene Realität, die sich in Teilen selbst trägt (z.B. Computerspiele) oder sogar die „wahre Realität“ stark beeinflusst (Facebook, Google, Wikipedia, ...). 2.3.3 Algebraisches Denken Axiomatisierungen führen eine Metaebene ein, auf der strukturelle Aussagen losgelöst von konkreten Anwendungsszenarien formuliert und bewiesen werden können. Beispielsweise können die Aussagen- und Mengengesetze in den Lemmata 2.1 und 2.3 auf die gleiche Axiomatisierung zurückgeführt und damit einheitlich bewiesen werden. Die dahinterliegende abstrakte Struktur ist die sogenannte Boolesche Algebra (auch Boolescher Verband genannt), die bereits vollständig über die jeweiligen Gesetze in der oberen Hälfte der beiden Lemmata charakterisiert ist. Alle anderen Gesetze der Lemmata lassen sich aus diesen herleiten. Boolesche Algebren spielen eine Schlüsselrolle in der Informatik, die insbesondere auf technischer Ebene stark von binären Repräsentationen und deren effizienter Handhabung profitiert. Im zweiten Band werden deshalb (Boolesche) Verbände genauer analysiert, wobei insbesondere typische algebraische Methoden vertieft werden, wie axiomatisches Beweisen, Abstraktion durch strukturerhaltenden Abbildungen (Homomorphismen) und systematische Konstruktionsprinzipien, wie Produkte, Abschlüsse/Hüllen und Sub- und Faktorstrukturbildungen. 20 Siehe http://de.wikipedia.org/wiki/Edsger_Wybe_Dijkstra 42 2 Aussagen und Mengen 2.3.4 Korrektheit und Vollständigkeit Im gesamten zweiten Band werden wir konsequent die Möglichkeit nutzen, Beweise kompositionell zu organisieren, also durch Ausnutzung des strukturellen Aufbaus und des Extensionalitätsprinzips, welches es erlaubt, Teilausdrücke für sich genommen zu betrachten. Das geht in diesem Falle auch vollkommen problemlos, da die betrachteten Axiomatisierungen folgende, allgemein für Regel- bzw. Gleichungssysteme angestrebte Eigenschaft besitzen: • Korrektheit: Es können nur gültige Aussagen durch das Ersetzen von „Gleichem durch Gleiches“ abgeleitet werden. • Vollständigkeit: Alle gültigen Aussagen können durch das Ersetzen von „Gleichem durch Gleiches“ auch hergeleitet werden. Gödels Unvollständigkeitssätze. Diese Eigenschaften sind keinesfalls selbstverständlich. Für die Prädikatenlogik stellt sich die Situation bereits deutlich schwieriger dar. Zwar ist die Korrektheit in allen üblichen Regelsystemen gegeben, aber die Vollständigkeit hängt stark von den betrachteten Strukturen ab. Für die Struktur der natürlichen Zahlen wurde durch Gödel in seinem berühmten 1. Unvollständigkeitssatz21 nachgewiesen, dass es kein endliches vollständiges und korrektes Regelsystem geben kann. Dies gilt entsprechend auch für sämtliche Axiomensysteme, die eine Beschreibung der natürlichen Zahlen enthalten. Als unmittelbare Folge bedeutet dies auch, dass es im in der Mathematik weithin verwendeten Axiomensystem, der Zermelo-Fraenkel-Axiomatisierung der Mengenlehre, unbeweisbare (und unwiderlegbare) Sätze gibt. Dies wirkte wie eine Bombe auf die Mathematik des 20. Jahrhunderts, zu dessen Beginn man glaubte, mit einer angemessenen Formalisierung der Mathematik sämtliche mathematischen Problemstellungen lösen zu können: Der berühmte Mathematiker David Hilbert (* 1862; †1943) hatte mit dem als Hilbert-Programm22 bekannten Aufruf alle Kollegen diesbezüglich zu einer kollektiven Initiative eingeladen. Nach Gödels Unvollständigkeitssatz, der seiner Intuition vollkommen entgegenstand, hatte sich Hilbert dann von der Forschung zurückgezogen. Die im zweiten Band Algebraisches Denken betrachteten abstrakten Strukturen, wie Verbände, Gruppen, Ringe, Körper und Vektorräume, sind dagegen alle vollständig axiomatisierbar. Der Informatik ist dies aber im Allgemeinen nicht genug. Sie strebt zusätzlich nach Entscheidbarkeit: Der Möglichkeit, die Gültigkeit von Aussagen automatisch (algorithmisch) ermitteln zu können. Für die in der Mathematik betrachteten Szenarien ist das in der Regel nicht gegeben. 21 Siehe http://de.wikipedia.org/wiki/Gödelscher_Unvollständigkeitssatz. 22 Siehe http://de.wikipedia.org/wiki/Hilbert-Programm 2.3 Weiterführende Betrachtungen 43 2.3.5 Antinomien Die Cantorsche Mengenlehre stößt bei naiver Anwendung des Mengenbegriffes an ihre Grenzen. Bekannt unter dem Namen Russelsche Antinomie ist zum Beispiel die „Menge“ aller Mengen, die sich nicht selbst als Element enthalten: R =df {M | M ∈ / M}. Fragt man sich jetzt, ob R in R enthalten ist, so gilt: R∈R ⇔ R∈ / R, was offensichtlich logisch widersprüchlich ist. Grundlegend für die Russelsche Antinomie ist die selbstreferentielle Konstruktion von R. Ein verwandtes Phänomen war uns bereits im Zusammenhang paradoxer „Aussagen“ wie in Beispiel 2.2(4) begegnet. Ähnlich wie man in der Aussagenlogik „paradoxe Aussagen“ als Aussagen im mathematischen Sinne ausschließt, bildet die auf Ernst Zermelo und Abraham Adolf Fraenkel zurückgehende axiomatische Mengenlehre23 einen formalen Rahmen, der es verhindert, Konstrukte wie R als Mengen zu klassifizieren. Zentral dabei ist die Unterscheidung von Klassen und Mengen. Während Klassen beliebige Zusammenstellungen von Elementen zulassen, erfordert die Mengeneigenschaft das Einhalten zusätzlicher Konsistenzanforderungen.24 Eine weitere bekannte Antinomie wurde von Cantor selbst offengelegt, der sich sehr wohl der Antinomie-Problematik bewusst war. So ist bereits die Allmenge A, das heißt die „Menge“ aller „Mengen“, widersprüchlich. Weil jede Teilmenge von A in A läge, müsste auch die Potenzmenge P(A) Teilmenge von P(A) sein. Jedoch lässt sich zeigen, dass die Potenzmenge einer (auch unendlichen) Menge stets echt mächtiger als die Menge selbst ist. Dies wird in Kapitel 3 (Theorem 3.6 auf Seite 67) genauer erläutert. Die Russelsche Antinomie hat auch einen unmittelbaren Bezug zur Informatik. Eine fundamentale Fragestellung der theoretischen Informatik ist, ob alle Probleme prinzipiell durch den Einsatz von programmierbaren Rechenmaschinen gelöst werden können. Dies muss verneint werden, da sich beispielsweise das sogenannte Halteproblem nicht mit einem Computer lösen lässt. Beim Halteproblem geht es um die Frage, ob ein Programm, das den Quelltext und die Eingabe eines anderen Programmes kennt, entscheiden kann, ob dieses Programm unter der gegebenen Eingabe hält oder nicht. Das Halteproblem wird in weiterführenden Vorlesungen zur Theoretischen Informatik und Berechenbarkeitstheorie ausführlicher behandelt. Unter anderem wird gezeigt, dass hieraus auch die Unentscheidbarkeit vieler anderer Probleme 23 Siehe http://de.wikipedia.org/wiki/Axiomatische_Mengenlehre Diese Form der „Problemvermeidung“ kann mit der Einführung von Typen in Programmiersprachen verglichen werden: Was man nicht beherrschen kann, wird ausgeschlossen! 24 44 2 Aussagen und Mengen folgt. An dieser Stelle verweisen wir interessierte Leser auf einen didaktisch sehr gelungenen Brückenschlag zwischen Halteproblem und Russelscher Antinomie.25 2.4 Lernziele Wenn Sie dieses Kapitel durchgearbeitet haben, sollten Sie... • ein Verständnis von Aussagen- und Prädikatenlogik erlangt haben: – – – – Was sind Aussagen? Wie sind aussagenlogische/prädikatenlogische Formeln aufgebaut? Wie lässt sich die Gültigkeit einer Aussage zeigen? Wie lassen sich Aussagen in (semantisch äquivalente) Aussagen umformen (z.B. für axiomatische Beweise)? • ein Verständnis von Mengen erlangt haben: – – – – – Was sind Mengen? Wie lassen sich Mengen definieren? In welcher Beziehung können Mengen zueinander stehen? Welche Verknüpfungen sind auf Mengen definiert? Welchen Grenzen unterliegt der Mengenbegriff? • die Bedeutung von Mustern und Strukturen in der Mathematik erkannt haben: – In welcher Beziehung stehen Aussagenlogik und Mengenlehre zueinander? – Welche Vorteile hat (in diesem Kontext) das Betrachten der zugrundeliegenden Muster, anstelle der konkreten aussagenlogischen Junktoren und Mengenverknüpfungen? – Was sind Axiomensysteme? – Welche Anforderungen lassen sich an Axiomensysteme stellen? • und ein erstes Gefühl erlangt haben: – Welche Bedeutung und Kraft die Kompositionalität oder das Prinzip des Ersetzens von Gleichem durch Gleiches schon in sehr einfachen Kontexten entwickeln kann. – Was der prinzipielle Unterschied zwischen der Argumentation auf der semantischen und der syntaktischen Ebene ist, und welche Vorteile die Syntaxorientierten, axiomatischen Beweise bieten können. 25 Siehe http://books.google.com/books/about/Die_Unlösbarkeit_des_ Halteproblems_und.html. 2.5 Aufgaben 45 2.5 Aufgaben 2.1. Wahrheitstafeln Für die Vorlesung Mathematik für Informatiker werden im Anschluss der Vorlesungszeit zwei Klausurtermine (Erst- und Zweittermin) angeboten. Alex, Bea und Chris wollen auf jeden Fall an einem der Termine teilnehmen. Sie wissen allerdings noch nicht, wer von ihnen schon am Ersttermin mitschreibt und wer den Zweittermin abwartet. Allerdings wissen wir: (a) (b) (c) (d) Wenn Chris am Ersttermin mitschreibt, traut sich auch Alex. Bea und Chris teilen sich im Klausurzeitraum einen Nebenjob. Deshalb kann höchstens einer der Beiden am Ersttermin mitschreiben. Aufgrund einer WG-internen Wette muss muss von Alex und Chris einer am Ersttermin antreten. Weil Bea bei Alex im Auto mitfahren will, hat sie beschlossen, genau dann am Ersttermin mitzuschreiben, wenn auch Alex mitschreibt. 1. Modellieren Sie die Aussagen (a) - (d) als Ausdrücke der Aussagenlogik. Dafür sollen elementare Aussagen A , B, C (für Alex, Bea und Chris) verwendet werden, denen genau dann der Wert w (wahr) zugeordnet wird, wenn die betreffende Person die Klausur am Ersttermin mitschreibt, f (falsch) sonst. 2. Finden Sie mit Hilfe einer Wahrheitstafel heraus, wer von diesen Dreien beim Ersttermin dabei ist. 2.2. Axiomatisches Beweisen Seien A , B, C Aussagen. Zeigen Sie die semantische Äquivalenz ¬ A ∧ B ∨ ¬(C ∨ ¬A ) ≡ A ⇒ (¬B ∧ C ) unter Verwendung der aussagenlogischen Gesetze aus Lemma 2.1. Die Implikation ist dabei kein eigenständiger Operator, sondern nur abkürzende Schreibweise im Sinne: A ⇒ B =df ¬A ∨ B. Hinweis: Formen Sie den linksseitigen Ausdruck unter Verwendung der De Morganschen Gesetze und dem Gesetz der Doppelnegation zunächst soweit um, dass Negationen höchstens noch vor den elementaren Aussagen stehen. Formen Sie dann unter Verwendung anderer Gesetze weiter um. Machen Sie bei jeder Umformung die verwendeten Regeln kenntlich. 46 2 Aussagen und Mengen 2.3. Semantisches Beweisen Beweisen Sie das Mengengesetz A\(B ∪C) = (A\B) ∩ (A\C). semantisch, indem Sie die Definition der Mengenoperationen aus Definition 2.6 und die Gesetze der Aussagenlogik aus Lemma 2.1 benutzen. 2.4. Prädikatenlogik Drücken Sie die Goldbachsche Vermutung (siehe Beispiel 2.1(4) auf Seite 16) als Formel der Prädikatenlogik aus. Dabei dürfen wie in der Definition des ggT geeignete Hilfsprädikate verwendet werden. http://www.springer.com/978-3-642-40145-9