Mathematik-Vorkurs für Informatiker

Werbung
Mathematik-Vorkurs für Informatiker
Christian Eisentraut und Julia Krämer
Universität des Saarlandes
3. September 2012
Inhaltsverzeichnis
Vorwort
5
1 Logik
1.1 Aussagenlogik . . . . . . . . . . . . . . . . .
1.1.1 Aussagen . . . . . . . . . . . . . . .
1.1.2 Syntax . . . . . . . . . . . . . . . . .
1.1.3 Semantik . . . . . . . . . . . . . . .
1.1.4 Gesetze der Aussagenlogik . . . . . .
1.2 Prädikatenlogik . . . . . . . . . . . . . . . .
1.2.1 Syntax . . . . . . . . . . . . . . . . .
1.2.2 Semantik . . . . . . . . . . . . . . .
1.2.3 Logische Äquivalenz von Prädikaten
1.2.4 Notation . . . . . . . . . . . . . . . .
1.2.5 Wichtige Gesetze . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
10
13
24
35
38
39
42
52
52
53
2 Schließen und Beweisen
2.1 “Definition, Satz, Beweis” – Begrifflichkeiten . .
2.2 Schließen und Beweisen . . . . . . . . . . . . . .
2.3 Schlussregelsammlung . . . . . . . . . . . . . . .
2.3.1 Schlussregeln bei quantifizierten Aussagen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
58
60
73
74
3 Mengen
3.1 Schreibweisen von Mengen . .
3.2 Mengenvergleiche . . . . . . .
3.3 Kardinalität oder Mächtigkeit
3.4 Potenzmenge . . . . . . . . .
3.5 Produktmenge . . . . . . . .
3.6 Mengenoperationen . . . . . .
3.7 Probleme der Mengenlehre . .
83
83
85
88
88
90
91
94
. . . . . . . .
. . . . . . . .
von Mengen
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
4 Relationen
4.1 Dartellung von Relationen . . . . . . . .
4.2 Eigenschaften von binären Relationen R
4.3 Relationskomposition . . . . . . . . . . .
4.4 Alternative Definitionen . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
. 99
. 99
. 105
. 106
3
Inhaltsverzeichnis
5 Induktion
107
5.1 Induktive Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.2 Natürliche Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3 Wohlfundierte oder noether’sche Induktion . . . . . . . . . . . . . 113
6 Lösungen
4
119
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? Zu aller erst deshalb, weil Informatik und Mathematik nicht getrennt werden können. Informatik benutzt nicht
nur die Mathematik intensiv, so wie es z.B. auch die Physik und die Chemie 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 Millionen mal gesehen. 10 ist keine Zahl. Es ist ein
Symbol, ein Wort, das für eine Zahl steht. Genau wie Liebe ein Wort für etwas ist,
das sicherlich komplizierter und anders ist, als fünf Buchstaben in Folge. Sie halten
10 vielleicht für eine Zahl, weil wir in der Umgangssprache das gerne so machen.
Aber 10 ist nur ein Symbol, nicht die Sache selbst. Schauen Sie jetzt einmal auf
ihre beide Hände. Dort sehen Sie Finger. Und zwar zehn! Machen Sie unter der
Dusche das Selbe mit Ihren Zehen. Wieder zehn. Zehn gibt es in unserer Welt ganz
oft. Zehn Menschen, die sie zufällig treffen, zehn Stifte, die auf ihrem Schreibtisch
liegen, und so weiter. Aber weder die Stifte, die Menschen, noch ihre Zehen und
Finger sind die Zahl 10. Vielmehr ist 10 ein Konzept, das wir uns von der Welt
machen, und es besagt, 10 ist das, was ist, wenn zehn Dinge in irgendeinem Sinne
zusammen sind. Wenn das jetzt seltsam diffus klingt, dann liegt das daran, dass
wir hier gerade versuchen, ein Konzept unseres Geistes abstrakt zu beschreiben.
Und wie wir noch sehen werden, ist dies im Allgemeinen sehr schwer. Es ist auch
der selbe Grund, weshalb Philosophen oft so scheinbar seltsame Gespräche führen,
und man als Laie oft das Gefühlt hat, alles was dort gesagt wird, ist sehr wolkig
und unklar. In der Philosophie geht es um Konzepte des Geistes und Objekte, die
5
Inhaltsverzeichnis
in unserem Geist entstehen, und die keine offensichtliche Widerspiegelung in der
Realität finden, eben solche Konzepte wie 10 und Liebe. Wenn wir das Konzept in
unserem Geist haben, dann scheint uns ganz klar zu sein, was es bedeutet. Wenn
wir jedoch genauer darüber nachdenken, und versuchen diese Konzepte anderen
Menschen zu erklären, und sie damit exakt zu erfassen, wird es sehr schwierig.
Was 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
Himmelsrichtungen 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?
6
Inhaltsverzeichnis
Und los geht’s. . . (Wie bearbeite ich die Aufgaben im Skript sinnvoll?)
Die Aufgaben innerhalb des Textes dienen dazu, neue Aspekte des bisher
Gelernten zu betrachten. Es empfiehlt sich, diese Aufgaben direkt (an Ort
und Stelle) zu bearbeiten und nicht weiterzulesen, bevor Sie sie bearbeitet haben. (Aber das haben Sie natürlich sowieso eben schon so gemacht,
nicht wahr?) Sie erleichtern und vertiefen das Verständis für die Inhalte des
Abschnittes.
Mathematik ist also eine Lehre von Dingen, die nur im Geiste existieren, und die
meist auch keinen, oder nur sehr undurchsichtige direkte Entsprechungen mit Dingen aus der realen Welt haben. Genau das ist auch das Geheimnis ihrer Mächtigkeit. Als Mathematiker beschäftigen wir uns mit phantastischen Gebilden, die nicht
den Gesetzen der realen Welt gehorchen müssen, ja in dieser noch nicht einmal
existieren müssen. Mathematik ist Freiheit. Gleichzeitig ist die Mathematik aber
weit davon entfernt, abstrus zu sein, unklar und beliebig. Mathematik zu betreiben
bedeutet ja gerade, diszipliniertes, klares und deutliches Denken zu lernen. Diese
Art zu denken, nennt sich logisches Denken. Es ist ein Denken, 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.
Aufgabe 0.2
Ist es prinzipiell möglich, mit anderen Menschen über ein beliebiges mathematisches “Ding an sich”, z.B. Zahlen, zu sprechen, ohne sich auf Symbole
zurückzuziehen?
7
Inhaltsverzeichnis
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.
Intuitiv. . .
Mathematik mochten Sie noch nie? Das ist (fast) überhaupt kein Problem.
Die Mathematik, die wir im Folgenden betrachten, unterscheidet sich sehr
stark von der, die Sie vielleicht bereits aus der Schule kennen. Außerdem
wollen wir versuchen, Ihnen eine Intuition zu den Themen zu vermitteln.
Dazu dienen diese Umgebungen. Scheinen also die Definitionen unklar, die
Sätze verwirrend, halten Sie Ausschau nach diesen Boxen.
8
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 erlaubt 1 , wenn sie wirklich richtig sind 2 . 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.
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.
9
1 Logik
Und los geht’s. . .
Sie haben schon zwei Fehlschlüsse gesehen. In diesem Kapitel ist es wichtig,
den Unterschied zwischen den Schlüssen, die wir im Alltag ziehen und für
logisch und nachvollziehbar halten, von denen zu trennen, die wir in der
Mathematik ziehen dürfen. Überlegen Sie sich für die folgende Aufgabe, wo
Sie solche Schlüsse im Alltag ziehen, wo Ihnen schon einmal gesagt wurde,
Ihr Verhalten war logisch.
Aufgabe 1.1
Überlegen Sie sich fünf typische Fehlschlüsse, die Menschen gerne ziehen und erklären Sie, warum sie diese eigentlich nicht ziehen dürfen.
Beispiel 1.1
Wenn die Straße nass ist, dann hat es geregnet.
Die Straße ist nicht nur dann nass, wenn es geregnet hat. Ein anderer Grund
könnte zum Beispiel ein Wasserrohrbruch sein.
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.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.2
• Blau ist eine Farbe.“ Dies ist eine Aussage, und sie ist wahr.
”
10
1.1 Aussagenlogik
•
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.
11
1 Logik
Intuitiv. . .
Nicht alles, was bisher jedoch wie eine Aussage aussah, ist auch wirklich eine
Aussage. Erinnern wir uns daran, dass Aussagen immer prinzipiell eindeutig wahr oder falsch sein müssen. Schauen wir uns nochmals den Satz Ich
darf Markus immer umarmen genauer an. Wer ist eigentlich Markus, und
wer ist ich? Solange wir nicht wissen, auf welche Personen sich dieser Satz
bezieht, können wir auch nicht sagen, ob er stimmt, oder nicht. Also ist dies
eigentlich keine Aussage, außer wir wissen genau, wer gemeint ist. Auch unter den mathematischen Ausdrücken haben wir so ein ähnliches Phänomen.
Betrachten wir den Satz
x + 3 > 5.
Er sieht ja fast so aus wie die Aussage 1 > 0 aus unseren Beispielen vorher.
1 > 0 ist eine Aussage, daran ist nichts zu rütteln. Aber obiger Satz ist
keine Aussage, denn wir wissen ja nicht, was genau x sein soll. Erst wenn
wir eine Zahl für x festhalten, kann man überhaupt über Wahrheit oder
Falschheit dieses Satzes reden. Ebenso wie vorher Markus für uns nur ein
unbestimmter Platzhalter für eine Person war, so ist x ein Platzhalter für
eine unbestimmte Zahl.
Manchmal treffen wir auch Sätze, bei denen scheint alles eindeutig bestimmt
zu sein, und sie sehen aus wie Aussagen, dennoch sind sie keine Aussagen.
Beispiel 1.3
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
12
1.1 Aussagenlogik
eindeutig entweder mit wahr oder mit falsch beantworten kann.
Aufgabe 1.2
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 Operatoren 3
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, 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 lassen4 .
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,
3 historisch
bedingt findet man in Schriften über die Aussagenlogik auch den Begriff Junktor
anstelle von Operator.
4 In Programmierung 1 werden wir den Begriff Syntax genauer definieren
13
1 Logik
dann erhalten wir einen Ausdruck. So ist z.B. in der Programmiersprache Pascal
folgende Folge von Wörtern ein Ausdruck if x > 0 then x := 5 else x := 3;.
Er setzt sich aus vielen verschiedenen Wörtern zusammen, nämlich if, x, >,
0, then, x, :=, 5, else, x, :=, 3, ;. Genau genommen sind manche dieser
Wörter nochmals aus kleineren Objekten, den Zeichen, zusammengesetzt. So besteht das if aus dem Zeichen i, und dem Zeichen f. 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.” selbst5 .
Die Menge der atomaren Aussagen wäre damit so etwas wie
{Wahr, Falsch, Die Sonne scheint, Blau ist eine Farbe, . . . }.
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 . . . ∈ V
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,
5 Dies
sind natürlich keine korrekten deutschen Sätze. Aber sowas ist uns Informatikern natürlich
egal, solange jeder weiß, was gemeint ist.
14
1.1 Aussagenlogik
denn wir brauchen sie nicht, um zu verstehen, wie logisches Denken funktioniert,
und kümmern uns nicht um sie.
Jetzt wollen wir die Operatoren der Aussagenlogik näher kennenlernen. Auch
diese werden wir als einfache mathematische Symbole aufschreiben, und uns nicht
mit natürlichsprachlichen Wörtern herumschlagen, auch wenn es für alle diese
Operatoren eine (zumindest ungefähre) Entsprechung in der natürlichen Sprache
gibt. Zugleich mit der Einführung der Operatoren wollen wir auch beschreiben,
wie genau wir sie verwenden dürfen, um kompliziertere Sätze in unserer Sprache Aussagenlogik zu bilden. Die Regeln, die uns sagen, wie wir aus einfachen
Aussagen und Operatoren 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 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!
Intuitiv. . .
Eine Grammatik gibt an, welche Objekte wir betrachten dürfen. Im Falle
der Aussagenlogik heißt das, welche Objekte wir eigentlich als gültig ansehen
dürfen. Es gibt zum Beispiel keinen Sinn x∧ als vollständige Aussage zu
betrachten. Es fehlt einfach der zweite Operand des logischen Unds.
15
1 Logik
Übung 1
Erklären Sie den Unterschied zwischen Metavariablen und Aussagenvariablen.
Beantworten Sie dabei auch folgende Fragen: Weshalb brauchen wir Aussagenvariablen in unserer Aussagenlogik? Benötigen wir eigentlich auch Metavariablen
unbedingt um Aussagenlogik zu betreiben?
Und los geht’s. . .
Schauen Sie sich zunächst noch einmal alle wichtigen Definitionen im Zusammenhang der Frage an! Sie geben Aufschluss darüber, was zur Beantwortung der Frage wichtig ist.
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 BackusNaur-Form 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 Operatoren, die wir oben eingeführt haben, heißen Negation (¬), Konjunktion (∧), Disjunktion (∨), Ausschließendes Oder (⊕), Implikation (→) und
Äquivalenz (↔). Negation, Konjunktion und Disjunktion nennt man auch einfach
Nicht, Und und Oder.
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,
16
1.1 Aussagenlogik
die selbst nicht zusammengesetzt sind. In unserem Fall sind dies die Aussagenvariablen und die Konstanten > und ⊥. Was die BNF knapp aussagt, 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.
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 (atomarer 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, . . . .
Aufgabe 1.3
Geben Sie die Backus-Naur-Form zur induktiv definierten Sprache Listen über den
Wörtern o und ∗ an.
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.4
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.5
Keine Aussagen sind z.B.
17
1 Logik
• >⊥. Es gibt keine Ableitungsregel, bei der zwei atomare Aussagen direkt nebeneinander stehen dürften. Jede Regel bei der mehr als eine atomare Aussage entstehen kann, enthält auch einen Operator.
• > ∧ ϕ. 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
> ∨ ⊥.
Bemerkung 1.1 (Klammersparregeln)
Die äußersten Klammern eines Ausdrucks können stets weggelassen werden. Ansonsten können Klammern weggelassen werden, wann man sie anhand folgender
Prioritätsregeln ü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.
18
1.1 Aussagenlogik
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).
Intuitiv. . .
Rekursion hat man erst dann verstanden, wenn man Rekursion verstanden
hat. Was hat dieser Satz mit Rekursion zu tun? Wenn wir etwas rekursiv
abarbeiten, sollte es immer Fälle geben, die wir direkt behandeln können,
ansonsten kommen wir nie zu einem Ende, genau wie in unserem Satz oben
– nach ihm kommen wir nie zum Verständnis von Rekursion. Den zweiten,
wichtigen Teil der Rekursion zeigt er aber sehr schön auf: Wir nehmen einfach an, für die Dinge, die wir rekursiv betrachten, haben wir alles schon
abgearbeitet und nun müssen wir nur noch den Rest bearbeiten.
Beispiel 1.6
Wie sortieren wir zum Beispiel unsere Lieblingsbücher alphabetisch – die
meisten werden nun sagen gar nicht, aber nehmen wir einmal an, dass ist
unser Ziel.
Dann teilen wir am effektivsten unseren Stapel wieder in zwei und sortieren
die beiden kleineren Stapel wieder. Dazu teilen wir diese wieder und wieder
und wieder · · · bis wir schließ nur noch einelementige Stapel haben, die wir
alphabetisch wieder zusammenfügen. Nun haben wir rekursiv unsere Bücher
sortiert.
Beispiel 1.7
a: Der Strukturbaum der Formel ¬p ∨ ((q ↔ ¬(r ↔ p)) ∧ s) ist
19
1 Logik
∨
¬
∧
p
↔
s
¬
q
↔
r
p
b: Der Strukturbaum der Formel ¬(p ∨ q) ↔ (¬(r ↔ (p ∧ s))) ist
↔
¬
¬
∨
↔
p
q
∧
r
p
s
Aufgabe 1.4
Geben Sie Strukturbäume zu folgenden Aussagen an:
• >∧⊥∨>∨p→q ↔r∧>
• p→q →r∧s∨q
• r ↔s∧q
Aufgabe 1.5
Nun die umgekehrte Richtung: Geben Sie Ausdrücke zu folgenden Strukturbäumen
an:
∧
↔
↔
→
∨
→
> ⊥
∧
r
∨
p q r s
p > > ⊥
20
1.1 Aussagenlogik
Intuitiv. . .
Eine Frage, die man sich stellen kann, ist, warum man eigentlich Strukturbäume braucht. Hierauf gibt es zwei Antworten:
Zum einen folgt der Strukturbaum der Grammatik. Alle Operatoren mit
zwei Operanden haben auch zwei Folgeknoten im Strukturbaum. Man kann
ihn sogar anhand der Grammatik aufbauen. Dabei darf man erst dann mit
dem Zeichnen weiterer, tiefer liegender Knoten aufhören, sobald man bei
>, ⊥ oder einer Aussagenvariable angelangt ist. Muss man vorher aufhören
oder hat ein Operator nicht genügend Folgeknoten, so genügt der Ausdruck
nicht der Grammatik. Strukturbäume geben uns also eine Möglichkeit zu
zeigen, dass Ausdrücke gemäß einer Grammatik gebildet wurden.
Zum anderen ist die Darstellung als Strukturbaum klammerfrei. Da sie auch
etwas über die Hierarchie innerhalb eines Ausdrucks aussagt, eignet sie sich
als Repräsentation von Ausdrücken im Computer. Viele Übersetzer für Programmiersprachen übersetzen die Zeichenfolge, die sie als Eingabe erhalten,
erst einmal in einen solchen Baum, um darauf zu arbeiten.
21
1 Logik
In der Praxis... (Ausdruck → Strukturbaum)
Wie erstelle ich einen Syntaxbaum auf einem Ausdruck?
1. Setze alle Klammern im Ausdruck, die durch die Klammersparregeln
überflüssig geworden sind.
2. Betrachte die äußerste Klammer: Der Operator, der in ihr enthalten
ist, wird zur Wurzel des Strukturbaums.
3. Betrache nun alle Operanden des letzten Operators rekursiv und beende das Aufbauen des Strukturbaumes sobald die innerste Klammer
erreicht wurde.
Beispiel 1.8
Wir betrachten den Ausdruck p ∧ q ∨ r ↔ s
Schritt 1 (((p ∧ q) ∨ r) ↔ s)
Schritt 2 ↔ ist die Wurzel unseres Baumes.
Schritt 3 Der bisherige Strukturbaum sieht so aus.
↔ An die Stelle der beiden Fragezeichen tritt nun, indem wir die
? ?
Schritte 2 und 3 rekursiv auf ((p ∧ q) ∨ r) und s anwenden, der Rest
des Strukturbaums:
↔
∨
∧
p
22
s
r
q
1.1 Aussagenlogik
In der Praxis... (Strukturbaum → Ausdruck)
Nun die umgekehrte Richtung: Wie erstelle ich aus einem Strukturbaum
einen Ausdruck?
Jeder Operator im Baum sagt prinzipiell, dass die Operanden, die darunter
stehen, geklammert werden müssen. Es ist sehr hilfreich, diese Klammern
zunächst zu setzen und später nach den Klammersparregeln wieder zu entfernen. Um nun einen Ausdruck zu erstellen, fangen wir an der Wurzel an
und schreiben den Operator auf. Ist der Knoten im Baum, den wir gerade betrachten, eine Aussagenvariable oder > oder ⊥, so notieren wir ihn
ebenfalls, sind aber mit unserer Betrachtung fertig. Schauen wir uns gerade einen Operator an, so notieren wir diesen und setzen die Betrachtung
rekursiv auf den Operanden fort.
Beispiel 1.9
Betrachten wir einmal den folgenden Strukturbaum:
∧
∨
→
p q r s
Unser Ausdruck besteht zunächst aus (?) ∧ (?). Nun setzen wir unsere Betrachtung rekursiv auf den Bäumen mit Wurzel ∨ bzw. → fort. Wir erhalten damit den Ausdruck ((?) ∨ (?)) ∧ ((?) → (?)). Im nächsten und
letzten Schritt müssen wir nur noch die Fragezeichen durch die vorkommenden Aussagenvariablen ersetzen: ((p) ∨ (q)) ∧ ((r) → (s)). Mit unseren
Klammersparregeln folgt dann, dass wir den Ausdruck äquivalent schreiben
können als (p ∨ q) ∧ (r → s).
Beispiel 1.10
• ¬p ∨ > ∧ ⊥ = (¬p) ∨ (> ∧ ⊥)
• p ∨ q → ¬r ∧ p → q = (p ∨ q) → ((¬r) ∧ p) → q)
Beispiel 1.11
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)
23
1 Logik
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 unbedingt
notwendig sind, um Aussagen besser lesbar zu machen.
Aufgabe 1.6
Sind die folgende Ausdrücke bezüglich der angegebenen Grammatik gültig?
• >∨
• ϕ∨ψ
• x
• xy
• p ∧ ∨q
• p∨q
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 }6 .
Wir definieren 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.
Bevor wir jetzt jedoch zu jedem beliebigen Ausdruck entscheiden können, ob er
wahr oder falsch ist, müssen wir zuerst klären, wie wir dabei mit Aussagenvariablen
umgehen wollen. Denn diese haben ja gerade die Eigenschaft, dass sie für beliebige
Aussagen stehen können, und damit alles andere als eindeutig wahr oder falsch
6 Wir
24
werden im Laufe des Vorkurs noch genaueres über Mengen und Abbildungen erfahren
1.1 Aussagenlogik
sind. Streng genommen sind sie damit eigentlich gar keine Aussagen, so wie wir
sie in Definition 1.1 eingeführt haben.
Um zu klären, welche Bedeutung eine Aussage nun hat, müssen wir zuerst für
jede Variable festlegen, ob diese wahr oder falsch ist, bevor wir entscheiden können,
ob eine Aussage wahr oder falsch ist. Eine solche Festlegung nennen wir Belegung.
Definition 1.4 (Belegung)
Eine Belegung von Aussagenvariablen ist eine Abbildung b : V → {w, f }. Wir
nennen die Menge aller Belegungen B.
Beispiel 1.12
Für folgende Ausdrücke haben wir bereits festgestellt, dass sie in A enthalten, und
damit Aussagen sind. Nun geben wir Belegungen für ihre Variablen an:
• > ∧ p mit b1 : {p} → {w, f }, p 7→ w
• (p ∨ q) ∧ (> → (⊥ ⊕ q)) mit b2 : {p, q} → {w, f }, p 7→ f , q 7→ w
Für jede Variable gibt es genau zwei Möglichkeiten, sie zu belegen, nämlich mit
wahr oder falsch, sprich w oder f . Für einen Ausdruck, der n Variablen enthält,
gibt es damit 2n verschiedene Belegungen.
Während es also nicht möglich ist, für einen Ausdruck mit Variablen eine Semanitk anzugeben, weil wir dazu wissen müssen, ob die Variablen wahr oder falsch
sind, so können wir dies jedoch dann tun, wenn wir eine Belegung gegeben haben. Wir können damit also für jede Belegung eine eigenen Semantik angeben.
Natürlich heißt das nicht, dass sich alle diese Semantiken komplett unterscheiden,
wenn wir die Belegung ändern! Die Unterschiede liegen eben genau nur an der
Stelle, wo die Belegung zum Tragen kommt. Da, wo Variablen auftauchen.
Definition 1.5 (Semantik von Aussagen)
Seien im Folgenden ϕ und ψ ∈ A Aussagen, und b ∈ B eine Belegung. 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)
(
w
4. J¬ϕKb =
f
wenn JϕKb = fb
wenn JϕKb = wb
(
w
5. Jϕ ∧ ψKb =
f
wenn JϕKb = w und JψKb = w
ansonsten
25
1 Logik
(
6. Jϕ ∨ ψKb =
f
w
wenn JϕKb = f und JψKb = f
ansonsten


w
7. Jϕ ⊕ ψKb = w


f
wenn JϕKb = w und JψKb = f
wenn JϕKb = f und JψKb = w
ansonsten
(
f
8. Jϕ → ψKb =
w
wenn JϕKb = w und JψKb = f
ansonsten


f
9. Jϕ ↔ ψKb = f


w
wenn JϕKb = w und JψKb = f
wenn JϕKb = f und JψKb = w
ansonsten
Intuitiv. . .
Wir haben hier wieder ein Beispiel für Rekursion. Die Bedeutung von > und
⊥ können wir direkt, d.h. ohne Betrachtung weiterer Ausdrücke angeben.
Die Auswertung der Operatoren bezüglich unserer Semantik hängt wieder
von den Teilausdrücken ab. Wir betrachten Sie rekursiv wieder mit unserer
Abbildung.
Beispiel 1.13
Betrachten wir folgende Ausdrücke aus der Aussagenmenge. So können wir nun
ihre Semantik angeben:
• J> ∧ ⊥K = f
• J(¬⊥) ∨ >K = w.
• J(K> ∨ ⊥) ∧ (> → (⊥ ⊕ ⊥)) = f
26
1.1 Aussagenlogik
In der Praxis...
Wie sind wir auf die Ergebnisse im Beispiel gekommen? Betrachten wir
zunächst einen einfachen Ausdruck: J> ∧ ⊥K. Um ∧ auszuwerten, sagt uns
die Definition der Semantik, dass wir beide Teilausdrücke, also > und ⊥,
auswerten müssen. Es gilt:
• J>K = w
• J⊥K = f
Da nicht beide Teilausdrücke von ∧ wahr werden, wissen wir schließlich
J> ∧ ⊥K = f .
Betrachten wir nun einen etwas komplizierten Ausdruck, z.B. p ⊕ (q → r),
wobei p, q und r Aussagenvariablen sind und die Belegung b p und q wahr
und r falsch zuorndet. In der obersten Ebene des Ausdrucks, d.h. in der,
die nicht mehr geklammert ist, müssen wir als Operator ⊕ auswerten.
Dazu betrachten wir die Teilausdrücke ϕ := p und ψ := q → r. Wir
können direkt sehen, dass ϕ nach unserer Belegung zu wahr auswertet.
Nun betrachten wir ψ und sehen, dass wir die Semantik eines Ausdrucks
mit → bestimmen müssen. Dazu müssen wir erneut zwei Teilausdrücke
auswerten, nämlich q und r. Nach unserer Belegung b wertet q zu w und r
zu f aus, damit wertet auch die Implikation zu f aus. Schließlich erhalten
wir also für JϕK = w und JψK = f und wissen damit nach der Definition
der Semantik von ⊕, dass p ⊕ (q → r) zu w auswertet.
Aufgabe 1.7
Reisen Sie eine Woche in die Vergangenheit zurück, bevor Sie dieses Skript gelesen
haben und erklären Sie sich dort selbst den Unterschied zwischen ⊥ und f bzw. >
und w.
Es folgen einige interessante Bemerkungen zu einigen Operatoren, zusammen
mit ein paar Beispielen. Zur Erinnerung an die Semantik der Operatoren präsentieren wir sie hier nochmals in ein wenig informellerer Schreibweise als sogenannte
Wahrheitstafel.
Die Negation (Symbol ¬ )
ϕ ¬ψ
w f
f
w
27
1 Logik
Der Negationsoperator ist ein mächtiger Operator. Tatsächlich ist er, zusammen
mit nur einem der Operatoren ∧ oder ∨ ausreichend, um alle anderen Operatoren
nachzubilden. So können wir z.B. ∨ aus ¬ und ∧ wie folgt bauen: ϕ ∨ ψ kann man
darstellen als ¬(¬ϕ ∧ ¬ψ). Das heisst, egal welche Belegung ich für ϕ und ψ wähle,
die beiden Ausdrücke haben immer den selben Wahrheitswert.
Aufgabe 1.8
Überlegen Sie sich, ob Sie alle anderen Operatoren auch mit nur einem,
möglicherweise neuen Operator darstellen können.
Bemerkung 1.3
Eine minimal kleine Menge von Operatoren, mit denen man alle andere Darstellen
kann heißt Basis. Jede Menge, mit denen man alle anderen Darstellen kann, heißt
Erzeugendensystem.
Die Implikation (Wenn-Dann-Verknüpfung; Symbol: →)
ϕ
w
w
f
f
ψ
w
f
w
f
ϕ→ψ
w
f
w
w
Dieser Operator repräsentiert die Grundidee jeglichens logischen Schließens: Eine Aussage folgt aus einer anderen!, oder mit Aussagenvariablen: ψ folgt aus ϕ.
Hierbei bezeichnen wir ϕ als Prämisse oder Voraussetzung bzw. Hypothese und ψ
als Folgerung bzw. Konklusion. Beachten Sie, dass also die Aussage, die gefolgert
wird, rechts vom Operator steht.
Für den mathematisch Ungeübten gibt es hier jedoch die verwirrende Tatsache,
dass obwohl dieser Operator intuitiv so etwas bedeutet wie, wenn ϕ wahr ist, dann
ist auch ψ wahr, muss zwischen den Aussagen, für die ϕ und ψ jeweils stehen,
keinerlei sinnvoller Zusammenhang bestehen.
Beispiel 1.14
Wenn rot eine Farbe ist, dann ist ein Kreis rund. Diese Aussage ist wahr. Und
zwar nicht deshalb, weil rote Farbe und runde Kreise irgendeinen sinnvollen Zusammenhang hätten, sondern nur deshalb, weil beide Aussagen für sich genommen
wahr sind, und deshalb nach unserer Semantik beide Aussagen, verknüpft mit →
wiederum eine wahre Aussage ergeben.
Weshalb um alles in der Welt haben dann die vielen schlauen Logiker der letzten
Jahrhunderte die Bedeutung von → so gewählt? Wir können uns versuchen, dies
wie folgt zu erklären. Normalerweise verwendet man Implikationen als Teil eines
28
1.1 Aussagenlogik
Beweises, und sie repräsentieren sinnvolles Wissen, dass wir über die Welt haben.
Betrachten wir die Tatsache, dass alle Männer kurze Haare haben.7 . Diese Tatsache
können wir als eine Implikation verstehen: Wenn ein Mensch ein Mann ist, dann
hat dieser Mensch kurze Haare. Dies ist eine Implikation über zwei Aussageformen
(wir können hier für x verschiedene Werte einsetzen und dann erst bestimmen, ob
der Satz wahr oder falsch wird):
(Mensch x ist Mann) → (Mensch x hat lange Haare). Erinnern Sie sich daran:
wir glauben fest an diese Aussage8 . Nun nehmen wir einen Mann, nennen wir ihn
Christian, und wir wollen beweisen, dass Christian kurze Haare hat.
Wenn wir Christian in die Aussageform einsetzen, erhalten wir die Implikation
hat
Christian
ist
{z ein Mann} → Christian
|
{zkurze Haare} .
|
p
q
Zur leichteren Verständigung nennen wir die beiden Teilaussagen der Implikation
nun p bzw. q. Da wir wissen, dass Christian ein Mann ist, ist p wahr. Da wir auch
an die Implikation glauben, muss also folgen, dass q auch gilt, also hat Christian
kurze Haare. Aber halt! Wir waren hier wieder nur intuitiv, und wir haben über
Implikation gesprochen, als wüssten wir, was sie genau bedeutet. Wir wollen daher nun versuchen zu verstehen, inwiefern dieser logische Schluss, den wir gerade
gezogen haben, in der Semantik von → versteckt ist.
Zuerst wollen wir uns fragen, was es nun eigentlich semantisch bedeutet, dass
wir fest daran glauben, dass die Implikation wahr ist. Nichts anderes als dass gilt
Jp → qK = w!
Wir wissen nun also, dass p wahr ist. Und wir wissen, dass p → q wahr ist.
Damit muss nach unserer Semantik von p → q also auch folgen, dass q wahr ist,
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 Operator → 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 kurze Haare haben. Können wir nun irgendetwas über Julias Haare aussagen?
Können wir also ebenfalls schließen, dass sie kurze Haare hat? Oder können wir
vielleicht schließen, dass sie lange Haare hat?
7 Falls
Sie daran zweifeln, ist das kein Problem. Tun Sie die nächsten Minuten einfach so als ob.
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.
8 Sie
29
1 Logik
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
Haare zulassen. Und tatsächlich ist das so! Nehmen wir an, Julia hat tatsächlich
kurze Haare. Dann wird die Konklusion unserer Implikation wahr. Wir befinden
uns damit in Zeile drei der Wahrheitstafel, und wie wir sehen, ist die Semantik
der Implikation dann w. Das bedeutet für uns, dass dies absolut konform ist mit
unserem Glauben in unsere Implikation. Genau das selbe passiert in Zeile vier, im
Falle, das Julia lange Haare hat. Dann ist die Semantik ebenfalls w, und ist damit
konform zu unserem Glauben an unsere Implikation.
Dies bedeutet also insbesondere, dass wir keinerlei Informationen aus einer Implikation ziehen können, wenn ihre Prämisse falsch ist (Julia ist kein Mann!).
Bemerkung 1.4
Ein wichtiger Merksatz der Logik ist: Aus Falschem kann man alles Beliebige folgern!
Beispiel 1.15
Nehmen wir eine Implikation, deren Prämisse offensichtlich falsch ist, ebenso wie
ihre Konklusion: Wenn 1 = 5, dann ist 2 = 10. Wenn wir jedoch mit der falschen
Prämisse anfangen zu arbeiten, dann können wir sogar zeigen, dass 2 = 10 gilt,
und zwar wie folgt: 2 = 1·2 dies ist nach der Prämisse 5·2 und dies ist bekanntlich
10.
Auch auf diese Art können wir uns erklären, weshalb es sinnvoll ist, Zeile vier der
Wahrheitstafel von → so zu definieren, wie sie definiert ist.
Natürlichsprachlich hat eine Wenn - Dann“ Konstruktion oftmals einen kausa”
len Zusammenhang. Beim mathematischen Wenn - Dann“ ist das nicht zwingend
”
der Fall.
Beispiel 1.16
Wenn es regnet, werde ich nass. Natürlichsprachlich verstehen wir den Regen als
Ursache dafür, das wir nass werden. In der Aussagenlogik bedeutet das nicht weiter
als eine der drei Dinge:
• es regnet gerade und ich werde gerade nass (vielleicht weil ich keinen Schirm
habe, vielleicht aber auch, weil mich gerade ein Hund anpinkelt)
• es regnet gerade nicht, und ich werde trotzdem nass (vermutlich weil mich
ein Hund anpinkelt)
• es regnet gerade nicht, und ich werde auch nicht nass (der Hund hat rechtzeitig eine Laterne gefunden).
Wichtige alternative Sprechweisen für ϕ → ψ sind
• ϕ impliziert ψ
30
1.1 Aussagenlogik
• ϕ ist hinreichend für ψ
• ϕ ist hinreichende Bedingung für ψ.
• ψ ist notwendig für ϕ.
• ψ ist notwendige Bedingung für ϕ.
• ϕ nur dann wenn ψ.
• ϕ dann wenn ψ.
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 ϕ ist hinreichend für ψ, wenn das Erfülltsein
von ϕ stets garantiert, dass auch ψ erfüllt ist. Dabei ist ϕ alleine dafür vollständig
ausreichend, und nichts anderes ist mehr nötig.
Beispiel 1.17
Ein Streichholz in eine Kerzenflamme zu halten ist hinreichend dafür, dass das
Streichholz sich entflammt.
Für ein und die selbe Bedingung ψ kann es jedoch mehrere hinreichende Bedingungen ϕ geben.
Beispiel 1.18
Ein Streichholz in einen brennenden Hochofen zu werfen ist ebenfalls hinreichend
dafür, dass das Streichholz sich entzündet.
Beispiel 1.19
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 Bedingung überhaupt eintreten kann. Mit Variablen gesprochen:
wenn q für p notwendig ist, dann muss q gelten, damit p gilt, aber alleine genügt
q nicht. Im Allgemeinen genügen notwendige Bedingungen alleine nicht9 .
Beispiel 1.20
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
9 Eine
Bedingung kann auch gleichzeitig notwendig und hinreichend sein. Dann genügt sie
natürlich. Diesen Sachverhalt schreibt man logisch als Äquivalenz p ↔ q.
31
1 Logik
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.21
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.5
Wir bezeichnen die Aussage ψ → ϕ als die Umkehrung der Aussage ϕ → ψ,
¬ϕ → ¬ψ als ihr Inverses und ¬ψ → ¬ϕ als ihre Kontraposition.
Die Äquivalenz ( Genau - Dann - Wenn“ - Verknüpfung; Symbol: ↔)
”
ϕ
f
w
f
w
ψ
f
f
w
w
ϕ↔ψ
w
f
f
w
Bemerkung 1.6
Andere Bezeichnungen für ϕ ↔ ψ:
• ϕ gilt dann und nur dann wenn ψ gilt
• ϕ ist hinreichend und notwendig für ψ
32
1.1 Aussagenlogik
• ϕ ist hinreichend und notwendig für ψ
• ϕ gdw ψ (genau dann wenn)
• ϕ iff ψ (if and only if )
Beispiel 1.22
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.7
Wir sehen hier sehr schön, dass es nicht immer hilfreich ist, nach dem Sinn solcher
Aussagen zu fragen. Schon gleich nicht, wenn wir diese Aussage aussprechen und
etwas sagen wie, “Dass das Saarland am Meer liegt ist notwendig und hinreichend
dafür, dass 1 < 0”.
Dass 1 < 0 gilt oder nicht gilt, hat in der echten Welt rein gar nichts damit zu
tun, wo das Saarland liegt. Umgekehrt genauso wenig. Dennoch sind beide Aussagen logisch äquivalent, da beide den selben Wahrheitswert haben. Das Problem,
das man als Nicht-Mathematiker mit solchen logischen Verknüpfungen hat, ist der,
dass man meißt 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 Meeresspiegels10
Bemerkung 1.8
Wenn Aussagenlogik so sinnlos ist, warum betreiben wir sie dann? Zum einen,
weil die Aussagen ja durchaus Sinn ergeben können. Wir müssen die Aussagen
nur passend wählen. Zum anderen liegt in der Tatsache, dass die Aussagenlogik
auch dann funktioniert, wenn die Aussagen, mit denen wir hantieren, scheinbar
keinen Sinn ergeben, ihre große Stärke. Oft wissen wir gar nicht von vorne herein,
ob irgendwelche Aussagen in einem aussagenlogischen Ausdruck zusammen Sinn
ergeben. Und doch können wir mit Ihnen arbeiten, sie umformen. Solange bis wir
sie auf eine Form gebracht haben, so dass wir plötzlich wieder einen neuen Zusammenhang, einen neuen Sinn, in ihnen entdecken. Genau das ist es, was wir in
der Mathematik immer wieder tun!
10 Zumindest
schien bisher die globale Erwärmung die plausibelste Ursache. Vielleicht werden
wir aber irgendwann entdecken, dass dies alles tatsächlich nur an 1 < 0 liegt.
33
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.6 (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
Eine Aussage heißt erfüllbar, wenn es eine Belegung b ∈ B gibt, so dass JϕKb = w.
Allgemeingültig - Tautologie
Eine Aussage ϕ heißt allgemeingültig, tautologisch bzw. Tautologie, ϕ ≡ >, dass
heisst, ϕ für alle Belegungen wahr ist.
Unerfüllbar - Kontradiktion
Ein Aussage heißt unerfüllbar, kontradiktorisch bzw. Kontradiktion, wenn ϕ ≡ ⊥.
Beispiel 1.23
Für die folgenden Ausdrücke gilt:
1. ¬¬p ist erfüllbar.
2. p ∧ (q ∧ r) ist erfüllbar, und zwar nur für p ≡ q ≡ r ≡ >.
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.
34
1.1 Aussagenlogik
In der Praxis...
Wie bestimmt man, ob ein Ausdruck eine Tautologie, erfüllbar oder eine Kontradiktion ist? Bei noch wenigen Aussagenvariablen kann man alle
möglichen Belegungen ausprobieren. Bei einer Aussagenvariable muss man
zwei, bei zwei schon vier, im Allgemeinen bei n schon 2n Belegungen betrachten. Wie kann man nun bei größeren Ausdrücken vorgehen? Man betrachtet zum Beispiel, ob es Aussagen gibt, die immer falsch werden, man
geht also wieder rekursiv in die Teilausdrücke. Dabei kann das folgende
Kapitel helfen.
Bemerkung 1.9
Bisher haben Sie schon sehr oft von Rekursion gehört. Tatsächlich ist Rekursion
ein sehr beliebtes Mittel zur Problemlösung in der Informatik.
1.1.4 Gesetze der Aussagenlogik
Satz 1.1
Seien ϕ, ψ und χ Ausdrücke im Aussagenkalkül. Dann gelten folgende Regeln bzw.
Gesetze:
Tertium non datur
• ϕ ∨ ¬ϕ ≡ >
• ϕ ∧ ¬ϕ ≡ ⊥
Identität:
• ϕ∧>≡ϕ
• ϕ∨⊥≡ϕ
Dominanz:
• ϕ∨>≡>
• ϕ∧⊥≡⊥
Idempotenz:
• ϕ∧ϕ≡ϕ
• ϕ∨ϕ≡ϕ
Assoziativität:
• ϕ ∧ (ψ ∧ χ) ≡ (ϕ ∧ ψ) ∧ χ
35
1 Logik
• ϕ ∨ (ψ ∨ χ) ≡ (ϕ ∨ ψ) ∨ χ
Damit auch:(ϕ ∧ ψ) ∧ χ ≡ ϕ ∧ ψ ∧ χ bzw. (ϕ ∨ ψ) ∨ χ ≡ ϕ ∨ ψ ∨ χ
Kommutativität:
• ϕ∨ψ ≡ψ∨ϕ
• ϕ∧ψ ≡ψ∧ϕ
• ϕ↔ψ≡ψ↔ϕ
Distributivität:
• ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ)
• ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ)
• ϕ → (ψ ∧ χ) ≡ (ϕ → ψ) ∧ (ϕ → χ)
• ϕ → (ψ ∨ χ) ≡ (ϕ → ψ) ∨ (ϕ → χ)
Negation:
• ¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ (Gesetz von de Morgan)
• ¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ (Gesetz von de Morgan)
• ¬(¬ϕ) ≡ ϕ (Doppelte Negation)
Definierbarkeit:
• ¬ϕ ≡ ϕ → ⊥
• ϕ ∧ ψ ≡ ¬(¬ϕ ∨ ¬ψ)
• ϕ ∨ ψ ≡ ¬(¬ϕ ∧ ¬ψ)
• ϕ ⊕ ψ ≡ (ϕ ∨ ψ) ∧ ¬(ϕ ∧ ψ)
• ϕ → ψ ≡ ¬ϕ ∨ ψ ≡ ¬ψ → ¬ϕ
• ϕ ↔ ψ ≡ (ϕ → ψ) ∧ (ψ → ϕ)
Alle diese Regeln lassen sich Beweisen, zum einen durch Wahrheitstabellen oder,
teils schneller und kürzer, durch Herleiten aus bereits bekannten (d.h. bewiesenen
Regeln). Wir können nun leicht neue Regeln herleiten.
Beispiel 1.24
a: Es gilt: ¬(ϕ → ψ) ≡ ϕ ∧ ¬ψ
36
1.1 Aussagenlogik
Beweis 1.1
¬(ϕ → ψ)
≡ ¬(¬ϕ ∨ ψ)
≡ ¬(¬ϕ) ∧ ¬ψ)
≡ ϕ ∧ ¬ψ
q.e.d
b: Es gilt auch: ¬(ϕ ↔ ψ) ≡ (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ)
Beweis 1.2
¬(ϕ ↔ ψ)
≡ ¬((ϕ → ψ) ∧ (ψ → ϕ))
≡ ¬(ϕ → ψ) ∨ ¬(ψ → ϕ)
≡ ¬(¬ϕ ∨ ψ) ∨ (¬ψ ∨ ϕ)
≡ (ϕ ∧ ¬ψ) ∨ (ψ ∧ ¬ϕ)
≡ (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ)
q.e.d
Und los geht’s. . .
Machen Sie sich zu jeder Umformung oben klar, welches Gesetz angwandt
wurde. Schreiben Sie am dazu am besten an jedes ≡ den Namen der entsprechenden Regel.
Wenn wir Beweise schreiben (vor allem, wenn sie von anderen Menschen gelesen werden sollen, wie z.B. in Klausuren), dann müssen wir jeden Umformungsschritt durch Angabe des verwendeten Gesetz begründen. Gleichzeitig
hilft es uns, die Korrektheit der Beweise zu überprüfen.
Definition 1.7 (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.
37
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 Operatoren zu neuen komplexeren Aussagen verknüpfen. Obwohl wir damit
bereits interessante Zusammenhänge zwischen Aussagen kennengelernt haben, wie
z.B. was es bedeutet, wenn eine Aussage logisch aus einer anderen folgt, waren die
Aussagen selbst immer komplett unabhängig voneinander. Wir konnten z.B. sagen
“Um die Uni herum stehen viele Bäume und Christian ist ein Mann.”, oder auch
“Dass um die Uni herum viele Bäume stehen impliziert, dass Christian ein Mann
ist.” Diese Aussagen sind beide wahr, jedoch kommt ihre Sinnhaftigkeit sehr nahe
an manche Schlagzeilen einer großen Zeitung mit vielen bunten Bildern heran.
Das Problem, dass die Aussagen sinnlos erscheinen, liegt darin begründet, dass
die beiden Teilaussagen inhaltlich keinerlei Zusammenhang besitzen, und jede der
beiden durch eine beliebige andere wahre Aussage ersetzt werden kann, ohne am
Wahrheitsgehalt der Aussagen etwas zu ändern.
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 nicht11 , 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.25
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. Für x = −3
2 erhalten wir aber die falsche
−3
Aussage 2 > 0“. Wir nennen solche Sätze mit “Loch” eine Aussageform.
”
11 durch
38
Ausprobieren aller möglichen Belegungen
1.2 Prädikatenlogik
Sätze, wie wir sie im letzten Beispiel gesehen haben, werden in der Mathematik
sehr häufig verwendet:
Definition 1.8
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 natürlichen, ganzen, rationalen oder rellen Zahlen. Man beachte dabei, dass
wir keine Aussage erhalten, wenn wir statt dessen die Menge aller Menschen als
Universum wählen, da dann der Satz Christian > 0 überhaupt keinen Sinn ergibt,
und wir ihm damit nicht eindeutig einen Wahrheitswert zuordnen können.
1.2.1 Syntax
Definition 1.9
Die Menge aller prädikatenlogischen Aussagen P ist gegeben durch folgende Grammatik:
P 3 ϕ, ψ ::=> | ⊥ | P (x1 , . . . , xk ) | ∀x : ϕ | ∃x : ϕ |
¬ϕ | ϕ ∧ ψ | ϕ ∨ ψ | ϕ ⊕ ψ | ϕ → ψ | ψ ↔ ϕ
Dabei gilt: x1 , . . . , xk ∈ IVar. IVar ist die Menge der Individuenvariablen, sie
dienen uns als Platzhalter für Werte in Prädikaten.
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ädikat 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.26
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.
39
1 Logik
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.
(∀)
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 12 .
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, insbesondere 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.27
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ädikate haben, dann ist es sehr wichtig genau darauf
zu achten, in welcher Reihenfolge über die Parameter des Prädikats quantifiziert
12 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.
40
1.2 Prädikatenlogik
wird. Vertauscht man nämlich die Reihenfolge von Existenz- und Allquantoren,
ergibt sich meist eine komplett andere Aussage!
Beispiel 1.28
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).
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 Nachbarn wiederum mich.
Dann wäre diese Aussage auf dem Universum der Menschen {ich, Nachbar,
Frau des Nachbarn} wahr, wenn auch nicht unbedingt zwischenmenschlich
ganz problemlos.
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
41
1 Logik
finden. Wenn wir das Universum für x aus der Menge der kleinen TeenieMä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 Operatoren (∧, ∨, . . . ) und Konstanten (>, ⊥) gleich. 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 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
Intuition 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.10
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.26 definierte
Prädikat L ist Uf = {Hanoi} und Uw = {Saarbrücken}.
Beispiel 1.29
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
42
1.2 Prädikatenlogik
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 bestimmte Funktion stehen sollen. Daher schreiben wir Aussageformen
meistens nicht als P (x), sondern viel konkreter, z.B. direkt als x > 0, wenn wir
mit P die Funktion
(
w für x > 0
P (x) =
f sonst
meinen.
Aussageformen selbst sind noch keine Aussagen. Erst wenn wir alle in einer
Aussageform vorkommenden Individuenvariablen durch einen Quantor bedacht
haben, wird daraus eine Aussage.
Bemerkung 1.10
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).
43
1 Logik
Was eine Variable genau ist, das ist nicht so einfach zu definieren, und wie
so oft, muss dieses Objekt des Geistes unbeschrieben bleiben. Jedoch haben wir
bisher alle unsere eigene Vorstellung davon entwickelt, was eine Variable ist. Wir
wollen diese Vorstellung einfach weiterhin benutzen, und dabei vorsichtig sein, dass
unsere Vorstellung sich nicht zu sehr von den Vorstellungen anderer Mathematiker
entfernt.
Was wir jedoch genauer beschreiben können, ist der Name einer Variablen. So ist
z.B. x der Name einer Variablen. Wenn wir z.B. schreiben ∃x : P (x), dann sehen
wir den Namen x zwei Mal. Dieser Name steht jedes Mal für ein und die selbe
Variable. Wir nennen das Auftreten eines Variablennamens direkt hinter einem
Quantor das definierende Auftreten der Variable. Die Teilausdrücke ∀x : bzw. ∃x :
führen also Variablen ein. Innerhalb eines Prädikates nennen wir die Auftreten
einer Variablen (genauer: ihres Namens) dann benutzend.
Eine Variable kann nur einmal definiert werden, jedoch häufiger benutzt, z.B. im
Ausdruck ∀x : Q(x, x), gibt es ein definierendes Auftreten, jedoch zwei benutzende.
Weshalb wir zwischen Variablen und ihren Namen unterscheiden wird klarer,
wenn wir uns vergegenwärtigen, dass die Aussage ∀x : P (x) und die Aussage
∀y : P (y) genau die selbe Aussage ist. Wir haben dabei nur den Namen der
Variable vertauscht, jedoch nicht die Variable selbst.
Beispiel 1.30
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.31
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 Auftreten einer Variable an
welchen Quantor gebunden ist.
Definition 1.11 (Bindungen)
• Die benutzenden Auftreten aller Individuenvariablen in einer Aussagenform
P (x1 , . . . , xn ) sind ungebunden.
44
1.2 Prädikatenlogik
• Im Ausdruck ∀x : ϕ werden alle ungebundenen benutzenden Auftreten der
Variable x im Ausdruck ϕ an ∀x : gebunden.
• Im Ausdruck ∃x : ϕ werden alle ungebundenen benutzenden Auftreten der
Variable x im Ausdruck ϕ an ∃x : gebunden.
• Im Ausdruck ¬ϕ sind genau die benutzenden Auftreten von Variablen gebunden bzw. ungebunden, die auch in ϕ gebunden bzw. ungebunden sind.
• Im Ausdruck ϕ ∧ ψ sind genau die benutzenden Auftreten von Variablen
gebunden bzw. ungebunden, die auch in ϕ und ψ gebunden bzw. ungebunden
sind.
• Entsprechend für alle weiteren Operatoren.
Wir sagen eine Variable x ist gebunden, wenn alle ihre benutzenden Auftreten
gebunden sind13 .
Beispiel 1.32
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.33
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))
13 man
mache sich klar, dass diese alle an ein und den selben Quantor gebunden sein müssen.
45
1 Logik
Gültigkeitsbereich (engl. Scope)
Den Teil eines prädikatenlogischen Ausdrucks, auf den sich ein Quantor bezieht, nennt man seinen Gültigkeitsbereich (engl. Scope). Es ist der längst
mögliche sinnvolle Ausdruck nach dem Doppelpunkt.
Machen wir einen kurzen Rückblick zur Syntax: Wie schon in der Aussagenlogik, wollen wir auch für die prädikatenlogischen Ausdrücke eine andere Schreibweise kennenlernen, den Strukturbaum. Auch hier dienen Sie dazu, die teilweise
sehr komplizierten Strukturen von Ausdrücken graphisch zu veranschaulichen. Das
Aufstellen von Strukturbäumen aus prädikatenlogischen Ausdrücken verläuft prinzipiell so, wie wir es in der Aussagenlogik schon gesehen haben, es kommen lediglich
Knoten für ∀x, ∃x und Prädikate, wie P (x) hinzu.
Beispiel 1.34
Seien P und Q beliebige Prädikate. Betrachten wir zunächst ein paar
prädikatenlogische Ausdrücke und ihre Strukturbäume:
∀x
1. ∀x : P (x)
P (x)
∀x
∧
2. ∀x : P (x) ∧ ∃y : Q(x, y)
P (x)
∃y
Q(x, y)
Wie man am zweiten Beispiel erkennen kann, spielt hier der Skopus der Quantoren
eine wichtige Rolle. Vor dem Zeichnen von Strukturbäumen ist es daher sinnvoll
zunächst vollständig zu klammern, dazu aber später mehr.
Und nun die andere Richtung. Hierbei ist es wichtig, dass alles, was unter einem
Quantor im Baum steht, auf jeden Fall zusammengehört, was wir im Folgenden
durch Klammern darstellen wollen.
46
1.2 Prädikatenlogik
∃x
∃x : (∀y : (Q(x) ∧ P (y)))
∀y
∧
Q(x)
P (y)
(∃x : P (x)) ∧ (∀x : Q(x))
∧
∃x
∀x :
P (x)
Q(x)
Die Strukturbäume prädikatenlogischer Ausdrücke werden uns nun eine große Hilfe
sein, die Bindungen korrekt zu bestimmen.
47
1 Logik
In der Praxis... (Wie bestimmt man Bindungen?)
Nun haben wir alles “Handwerkszeug” zusammen, um zu erklären, wie
man vorgehen kann, um die Bindungen zu bestimmen. Wir betrachten
dies an dem Beispiel
∃x : P (x) → ∀y : P (y) ∧ Q(x, y) ∨ Q(y, y)
1. Zuächst bestimmen wir den jeweiligen Gültigkeitsbereich der verschiedenen Quantoren und setzen entsprechende Klammern:
(∃x : P (x) → (∀y : P (y) ∧ Q(x, y) ∨ Q(y, y)))
2. Dann klammern wir den Ausdruck nach den aussagenlogischen Klammersparregeln vollständig:
(∃x : P (x) → (∀y : (P (y) ∧ Q(x, y)) ∨ Q(y, y)))
3. Nun können wir den Strukturbaum aufstellen:
∃x
→
∀y
P (x)
∨
∧
P (y)
Q(y, y)
Q(x, y)
4. Um nun das definierende Auftreten zu einem benutzenden zu bestimmen, betrachten wir das benutzende Auftreten im Baum und laufen
von dort aus soweit an den Kanten entlang hoch bis wir auf ein
definierendes Auftreten mit dem gleichen Namen stoßen. Dazu ein
Beispiel: Wir wollen nun das definierende Auftreten von x in Q(x, y)
herausfinden. Die einzelnen Schritte stellen wir dabei im Folgenden
markiert dar.
∃x
∃x
Wir gehen dann eine Kante hoch und befinden uns am ∧.
→
→
∀y
P (x)
∀y
P (x)
∨
∧
P (y)
∨
∧
Q(y, y)
Q(x, y)
P (y)
Q(y, y)
Q(x, y)
und so weiter. . .
48
∃x
∃x
∃x
∃x
→
→
→
→
∀y
P (x)
∀y
P (x)
∨
∧
P (y)
∧
P (y)
∧
Q(y, y)
Q(x, y)
∀y
P (x)
∨
∨
Q(y, y)
Q(x, y)
∀y
P (x)
P (y)
∨
∧
Q(y, y)
Q(x, y)
Nun haben wir das passende definierende Auftreten gefunden!
P (y)
Q(y, y)
Q(x, y)
1.2 Prädikatenlogik
Beispiel 1.35
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.
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.
Bevor wir die formale Semantik für prädikatenlogische Ausdrücke definieren
können, gilt es noch eine Hürde zu nehmen. Wir müssen uns überlegen, was es
formal bedeutet, eine Aussagenvariable durch einen konkreten Wert aus dem Universum U zu ersetzen. Denn erst dann können wir sagen, was es bedeutet, das eine
Aussage für alle Werte aus dem Universum wahr ist, oder es einen Wert aus dem
Universum gibt, sodass eine Aussage wahr wird.
Das Ersetzen einer Variable durch einen Wert stellen wir als eine Funktion dar.
Das besondere an dieser Funktion ist, dass wir sie post-fix notieren. Das bedeutet,
wir schreiben die Funktion hinter den Ausdruck, auf den wir sie anwenden wollen!
An stelle wie in der Schule f (x) für eine Funktion f zu schreiben, sagen wir nun
x f . Das ist für Funktionsnamen wie f ungewöhnlich, und auch nicht besonders
hübsch. Für unsere Funktion ist dies jedoch sehr üblich und gar nicht so häßlich,
wie wir gleich sehen werden.
Definition 1.12
Sei v ∈ U beliebig. Wollen wir in in einem Ausdruck ϕ ∈ P eine Individuenvariable
x durch v ersetzen, so schreiben wir (ϕ)[x := v]. Sei P ein beliebiges Prädikat und
x1 bis xn für ein n ∈ N Individuenvariablen oder Werte aus dem Universum U.
Wir gehen dabei wie folgt vor:
49
1 Logik
1. (P (x1 , . . . , xi , x, xi+1 , . . . , xn ))[x := v] = P (x1 , . . . , xi , v, xi+1 , . . . , xn ), wobei 1 ≥ i ≥ n.
2. (>)[x := v] = >
3. (⊥)[x := v] = ⊥
4. (ϕ ∧ ψ)[x := v] = (ϕ)[x := v] ∧ (ψ)[x := v]
5. (ϕ ∨ ψ)[x := v] = (ϕ)[x := v] ∨ (ψ)[x := v]
6. (ϕ ⊕ ψ)[x := v] = (ϕ)[x := v] ⊕ (ψ)[x := v]
7. (ϕ → ψ)[x := v] = (ϕ)[x := v] → (ψ)[x := v]
8. (ϕ ↔ ψ)[x := v] = (ϕ)[x := v] ↔ (ψ)[x := v]
9. (∀x : ϕ)[x := v] = ∀x : ϕ
10. (∀z : ϕ)[x := v] = ∀z : (ϕ)[x := v], wobei z eine Individuenvariable ist.
11. (∃x : ϕ)[x := v] = ∃x : ϕ
12. (∃z : ϕ)[x := v] = ∃z : (ϕ)[x := v], wobei z eine Individuenvariable ist.
Das besondere an der Ersetzungsfunktion ist, dass wir nur Variablen ersetzten,
die noch nicht durch einen Quantor gebunden sind; selbst, wenn die Variable den
selben Namen hat! Falls ein Quantor eine Variable bindet, die den selben Namen
hat, wie die Variable, die wir ersetzen wollen, so ersetzen wir einfach nichts (Zeilen 9
und 11). Ansonsten arbeiten wir einfach rekursiv weiter. Dazu nun ein Beispiel:
Beispiel 1.36
Wir betrachten die folgenden Ausdrücke. Wir wollen jeweils die Individuenvariable
x durch einen beliebigen Wert v aus dem Universum ersetzen. Seien P und Q dazu
beliebige Prädikate.
• (∀x : P (x))[x := v] = ∀x : P (x)
• (∀y : P (x, y))[x := v] = ∀y : P (v, y)
• Ein etwas kompliziertes Beispiel:
((∃x : P (x, y)) ∧ (∀y : Q(x, y)))[x := v]
= ((∃x : P (x, y))[x := v]) ∧ ((∀y : Q(x, y))[x := v])
= (∃x : P (x, y)) ∧ (∀y : (Q(x, y))[x := v])
= (∃x : P (x, y)) ∧ (∀y : Q(v, y))
Hier nochmal zwei wichtige Beobachtungen:
50
1.2 Prädikatenlogik
1. Wir dürfen keine Individuenvariablen ersetzen, die durch einen Quantor gebunden sind.
2. Versuchen wir mehrfach die gleiche Individuenvariable zu ersetzen, so wirkt
nur die erste Ersetzung, da danach die Individuenvariable nicht mehr frei im
Ausdruck auftritt. Es gilt also ((ϕ)[x := v])[x := v 0 ] = (ϕ)[x := v].
TODO::genauer erklären:::ODOT Um eine sinnvolle Semantik prädikatenlogischer
Ausdrücke anzugeben, müssen wir mehr Ausdrücke zulassen als bisher, d.h. wir
müssen die Syntax anders definieren.
Definition 1.13 (Erweiterte Syntax)
Die Menge aller prädikatenlogischen Aussagen P 0 ist gegeben durch folgende Grammatik:
P 0 3 ϕ, ψ ::=> | ⊥ | P (x1 , . . . , xk ) | ∀x : ϕ | ∃x : ϕ |
¬ϕ | ϕ ∧ ψ | ϕ ∨ ψ | ϕ ⊕ ψ | ϕ → ψ | ψ ↔ ϕ
Dabei gilt: x1 , . . . , xk ∈ U ∪ IVar
Im Gegensatz zur Semantik von aussagenlogischen Ausdrücken, ist die Semantik
prädikatenlogischer Ausdrücke eine partielle Funktion, d.h. es gibt Ausdrücke, die
keine Semantik haben.
Definition 1.14
Seien im Folgenden ϕ und ψ ∈ P 0 und P ein Prädikat. Dann ist die semantische
Funktion J·K : P 0 → {f , w} wie folgt induktiv definiert:
1. J>K = w
2. J⊥K = f
3. JP (x1 , . . . , xk )K = P (x1 , . . . , xk ) wenn x1 , . . . , xk ∈ U für ein k ∈ N
(
w wenn JϕK = f
4. J¬ϕK =
f
wenn JϕK = w
(
w wenn JϕK = w und JψK = w
5. Jϕ ∧ ψK =
f
ansonsten
(
f
wenn JϕK = f und JψK = f
6. Jϕ ∨ ψK =
w ansonsten


w wenn JϕK = w und JψK = f
7. Jϕ ⊕ ψK = w wenn JϕK = f und JψK = w


f
ansonsten
51
1 Logik
(
f
w
wenn JϕK = w und JψK = f
ansonsten


f
9. Jϕ ↔ ψK = f


w
(
w
10. J∀x : ϕK =
f
(
w
11. J∃x : ϕK =
f
wenn JϕK = w und JψK = f
wenn JϕK = f und JψK = w
ansonsten
8. Jϕ → ψK =
wenn für alle v ∈ U gilt: J(ϕ)[x := v]K = w
ansonsten
wenn es ein v ∈ U gibt so dass: J(ϕ)[x := v]K = w
ansonsten
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.15
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
52
1.2 Prädikatenlogik
über x. Die Schreibweise mit x ∈ N vor dem Doppelpunkt macht jedoch viele
Aussagen leichter lesbar.
Man beachte folgende Regel:
• ∀Q(x) : P (x) ≡ ∀x : Q(x) → P (x)
• ∃Q(x) : P (x) ≡ ∃x : Q(x) ∧ P (x)
In der Tat 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 formale Schreibweise hier deutlich einfacher zu lesen ist. Dennoch müssen wir in der Lage sein, beide Schreibweisen
zu verstehen, und ohne Nachdenken ineinander umschreiben zu können.
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
53
1 Logik
Ist U eine Menge mit unendlich vielen Mengen, dann ist diese Äquivalenz nicht
mehr gültig, da wir mit unserer Logik nur endliche Verundungen aufschreiben
können. Wir können uns aber die Quantoren ∀ und ∃ selbst als eine Möglichkeit
vorstellen, unendliche Verundungen und Veroderungen aufzuschreiben.
Negation
Es gilt
¬∀x : P (x) ≡ ∃x : ¬P (x)
und
¬∃x : P (x) ≡ ∀x : ¬P (x)
Um diese Äquivalenzen besser zu verstehen, rufen wir uns nochmals die aussagenlogischen Gesetze von De Morgan in Erinnerung:
Seien dazu p und q Wahrheitswerte:
• ¬(p ∧ q) ≡ ¬p ∨ ¬q
• ¬(p ∨ q) ≡ ¬p ∧ ¬q
Verwenden wir die eben eingeführte alternative Schreibweise für die Quantoren,
so können wir mit Hilfe der Gesetze von De Morgan beispielsweise sehen, dass sich
bei der Negierung eines Allquantors alle ∧-Zeichen
zu ∨-Zeichen verkehren
und die
V
W
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.37
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 | ≥ Wichtige Implikationsgesetze
Für ein Universum U und die Prädikate A(x), B(x), P (x, y) gelten folgende
logischen Implikationen:
54
1.2 Prädikatenlogik
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)
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.38
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.9
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))
55
1 Logik
Intuitiv. . .
Warum gelten die Äquivalenzen 3 und 4? Wir haben eben gesehen, dass ∃
und ∀ über endlichen Universen als ∨ bzw, ∧ schreiben können.
Aufgabe 1.10
Überlegen Sie sich mit Hilfe der Gesetze der Aussagenlogik und der
Möglichkeit Quantoren über endlichen Universen umzuschreiben, einen Beweis für die Äquivalenzen 3 und 4 über endlichen Universen.
56
Herunterladen