Logik und Künstliche Intelligenz

Werbung
Logik und
Künstliche Intelligenz
Vorlesung an der
Hochschule Heilbronn
(Stand: 25. Juli 2008)
Prof. Dr. V. Stahl
Copyright 2006 by Volker Stahl. All rights reserved.
“Mathematics may be defined as the subject
in which we never know what we are talking about,
nor whether what we are saying is true.”
Bertrand Russell
2
Inhaltsverzeichnis
1 Why?
5
2 Mengen
2.1 Der Begriff der Menge . . . .
2.2 Beziehungen zwischen Mengen
2.3 Comprehension Principle . . .
2.4 Russelsche Antinomie . . . . .
2.5 Operationen auf Mengen. . . .
2.6 Paare . . . . . . . . . . . . . .
2.7 Kartesische Produkte . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Relationen
3.1 Der Begriff der Relation . . . . . . . . . . . . .
3.2 Zerlegungen . . . . . . . . . . . . . . . . . . . .
3.3 Äquivalenzrelationen und erste Beweistechniken
3.4 Ordnungsrelationen . . . . . . . . . . . . . . . .
3.5 Umkehrrelation . . . . . . . . . . . . . . . . . .
4 Beweistechniken
4.1 Allgemein anwendbare Beweistechniken . . . .
4.2 Beweistechniken für aussagenlogische Symbole
4.3 Beweistechniken für Quantoren . . . . . . . .
4.4 Zusammenfassung . . . . . . . . . . . . . . . .
5 Funktionen
5.1 Rechtseindeutige Relationen . . . . . .
5.2 Partielle Funktionen . . . . . . . . . .
5.3 Definitionsbereich, Wertebereich . . . .
5.4 Totale Funktionen . . . . . . . . . . . .
5.5 Erweiterung . . . . . . . . . . . . . . .
5.6 Komposition von Funktionen . . . . . .
5.7 Surjektiv, injektiv, bijektiv . . . . . . .
5.8 Umkehrfunktion . . . . . . . . . . . . .
5.9 Funktionsterme für Umkehrfunktionen
5.10 Kommutativ, assoziativ, distributiv . .
5.11 Folgen . . . . . . . . . . . . . . . . . .
5.12 Abzählbarkeit . . . . . . . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
11
17
18
21
24
30
.
.
.
.
.
33
33
38
41
58
61
.
.
.
.
63
63
64
66
69
.
.
.
.
.
.
.
.
.
.
.
.
71
71
75
76
77
80
81
84
92
97
99
101
102
6 Aussagenlogik
6.1 Boolesche Funktionen . . . . . . . . . . .
6.2 Rechengesetze für Boolesche Funktionen
6.3 Formeln der Aussagenlogik . . . . . . . .
6.4 Semantik der Aussagenlogik . . . . . . .
6.5 Syntaktische Vereinfachungen . . . . . .
6.6 Konjunktive Normalform . . . . . . . . .
6.7 Tautologien . . . . . . . . . . . . . . . .
6.8 Logische Schlussfolgerungen . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Prädikatenlogik
7.1 Syntax der Prädikatenlogik . . . . . . . . . . .
7.1.1 Terme, atomare Formeln, Formeln . . .
7.1.2 Freie und gebundene Variablen. . . . .
7.1.3 Substitution . . . . . . . . . . . . . . .
7.1.4 Syntaktische Vereinfachungen. . . . . .
7.2 Semantik der Prädikatenlogik . . . . . . . . .
7.3 Rechenregeln für Formeln der Prädikatenlogik
7.3.1 Äquivalente Formeln . . . . . . . . . .
7.3.2 Regeln der Aussagenlogik . . . . . . .
7.3.3 Regeln für Quantoren . . . . . . . . . .
7.3.4 Gebundene Umbenennung . . . . . . .
7.3.5 Pränex Normalform . . . . . . . . . . .
7.4 Logische Folgerungen . . . . . . . . . . . . . .
7.4.1 Schlussfolgerungsregeln . . . . . . . . .
7.4.2 Konsistenz . . . . . . . . . . . . . . . .
A Kardinalzahlen und Kontinuumshypothese
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
107
107
109
111
112
115
116
119
119
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
. 123
. 123
. 125
. 127
. 128
. 129
. 134
. 134
. 135
. 137
. 138
. 139
. 140
. 141
. 142
144
B Axiomensysteme und Theorien
149
B.1 Modellbasierte Theorien . . . . . . . . . . . . . . . . . . . . . 149
B.2 Axiomatische Theorien . . . . . . . . . . . . . . . . . . . . . . 150
C Zermelo-Fraenkel Set Theory
152
C.1 Zorn’s Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
C.2 Wohlordnungsprinzip . . . . . . . . . . . . . . . . . . . . . . . 159
D Neuman-Bernays-Gödel Set Theory
161
E Literaturverzeichnis
162
4
Logik und Künstliche Intelligenz
V. Stahl
1
Seite 5
Why?
Können Maschinen denken? Diese Frage wurde erstmals von Alan Turing
im Jahr 1950 [21] gestellt, d.h. in einer Zeit als Computer in ihrer Entwicklung noch ganz am Anfang waren. Die Beantwortung dieser Frage scheiterte
daran, dass wir zwar ein intuitives Verständnis der Begriffe “Denken” und
“Intelligenz” haben, diese jedoch nicht exakt definieren, d.h. messbar machen
können. Turing’s Ausweg bestand darin, sich ein Spiel zu überlegen, das nach
unserer Intuition auf jeden Fall Intelligenz erfordert. Turing reduzierte seine
Frage dann darauf, ob eine Maschine in der Lage ist, dieses Spiel so gut zu
spielen wie ein Mensch. Auch heute sind Computer noch weit davon entfernt,
in diesem Turing Test nur annähernd an die Leistungsfähigkeit des Menschen
heranzukommen.
Nach unserer Intuition setzt Intelligenz die Fähigkeit zu Denken voraus.
Denken wiederum besteht im Wesentlichen aus einer Reihe von logischen
Schlussfolgerungen, d.h. der Fähigkeit aus bekannten Fakten neues Wissen zu
erschließen. Hiermit haben sich bereits die großen Griechischen Philosophen
beschäftigt. Folgendes Beispiel geht auf Aristoteles zurück:
Bekanntes Wissen
• Jeder Mensch ist sterblich.
• Sokrates ist ein Mensch.
Erschlossenes Wissen
• Sokrates ist sterblich.
In der Tat ist auch eine Maschine in der Lage, solche Schlussfolgerungen zu
ziehen. Sie versteht dabei allerdings nicht, was ein Mensch ist, oder was es
bedeutet sterblich zu sein. Alles was eine Maschine kann ist Zeichenketten
(Daten) nach bestimmten Regeln (Programmen) umzuformen. Damit logische Schlussfolgerungen maschinell durchgeführt werden können, sind somit
zwei Schritte erforderlich:
• Wissen muss durch Zeichenketten dargestellt werden (Wissensrepräsentation).
• Es müssen Algorithmen zur Umformung dieser Zeichenketten gefunden werden, die logischen Schlussfolgerungen entsprechen (Wissensverarbeitung).
Logik und Künstliche Intelligenz
V. Stahl
Seite 6
Die Schritte sind nicht voneinander unabhängig. Das Problem der Wissensrepräsentation könnte trivialerweise dadurch gelöst werden, dass man natürlichsprachlichen Text verwendet. Algorithmen, die Wissen in dieser Form verarbeiten können, sind allerdings äußerst komplex. Die derzeit erfolgreichsten
Systeme verwenden die Sprache der Logik erster Ordnung zur Wissensrepräsentation und die Resolutionsmethode zur Wissensverarbeitung. In der
Logik erster Ordnung würde das Beispiel von Aristoteles wie folgt aussehen:
Bekanntes Wissen
• ∀x Mensch(x) → Sterblich(x) .
• Mensch(Sokrates).
Erschlossenes Wissen
• Sterblich(Sokrates).
Ähnliche Mechanismen findet man auch in semantischen Netzen und objektorientierten Programmiersprachen. Hier würde man sagen, dass Menschen
eine Spezialisierung (oder abgeleitete Klasse) der sterblichen Objekte sind,
und dass Sokrates eine Instanz der Klasse Mensch ist.
Um die Wissensverarbeitung zu vereinfachen ist es wichtig, bei der Wissensrepräsentation mit möglichst wenigen, allgemeinen Konzepten auszukommen. Eines dieser Konzepte sind Eigenschaften (Relationen). Im Beispiel
sind Mensch und Sterblich Eigenschaften, die ein Objekt haben kann oder
nicht. Sokrates ist ein konkretes Objekt (Konstante), auf welches diese Eigenschaften zutreffen. Um über Objekte im Allgemeinen zu sprechen, werden
Variablen (im Beispiel x) verwendet. Logische Implikationen werden mit →
bezeichnet. Das Symbol ∀ (Allquantor) bedeutet “für alle”. Der erste Satz
besagt somit, dass für jedes Objekt x gilt, wenn x ein Mensch ist, dann ist
x sterblich. Relationen können auch Eigenschaften beschreiben, die mehrere
Objekte miteinander in Beziehung setzen, z.B.
ÄlterAls(Sokrates, Aristoteles).
Neben Relationen spielen Funktionen eine wichtige Rolle, um eindeutig Objekte identifizieren zu können, ohne ihnen einen konkreten Namen geben zu
müssen, z.B.
VaterVon(Sokrates).
Relationen und Funktionen sowie deren Eigenschaften lassen sich sehr elegant durch Mengen beschreiben. Der Begriff der Menge ist übrigens für mathematische Verhältnisse relativ neu: Er wurde Ende des 19. Jahrhunderts
V. Stahl
Logik und Künstliche Intelligenz
Seite 7
von Cantor eingeführt und gilt mittlerweile als Fundament für die gesamte
Mathematik.
In der Vorlesung werden wir uns zunächst ausgiebig mit Mengen, Relationen und Funktionen beschäftigen. Wir werden dabei die Sprache der
Logik erster Ordnung bereits beispielhaft verwenden um die Notation zu
vereinfachen. Als Vorläufer zur Logik erster Ordnung wird die Aussagenlogik
behandelt, an der elementare Begriffe wie z.B. “logische Schlussfolgerungen”
erklärt werden können. Anschließend wird die wesentlich ausdrucksstärkere
Sprache der Logik erster Ordnung formal exakt definiert. Besonders wichtig ist hierbei die Unterscheidung zwischen Syntax (Zeichenketten und deren maschinelle Verarbeitung) und Semantik (Bedeutung der Zeichenketten).
Maschinen arbeiten ausschließlich auf der syntaktischen Ebene, während sich
der Mensch ausschließlich für die Bedeutung der Dinge interessiert, über die
er nachdenkt. Gerade an dieser Grenze zwischen Syntax und Semantik tauchen viele Probleme auf, von denen bewiesen wurde, dass sie unlösbar sind.
Zum Schluss wird die Resolutionsmethode vorgestellt. Dies ist ein Algorithmus, mit dem Zeichenketten der Logik erster Ordnung so verarbeitet werden
können, dass das Resultat einer logischen Schlussfolgerung auf semantischer
Ebene entspricht. In gewissen Grenzen ist es also tatsächlich möglich, denkende Maschinen zu konstruieren.
V. Stahl
2
Logik und Künstliche Intelligenz
Seite 8
Mengen
Spätere Generationen werden die Mengenlehre als Krankheit betrachten, von der der Mensch genesen ist.
Henri Poincaré
. . . all mathematical theories may be regarded as extensions of
the general theory of sets . . . . On these foundations I state that
I can build up the whole of the mathematics of the present day.
Nicolas Bourbaki, 1949
2.1
Der Begriff der Menge
Der Begriff der Menge bildet den Ausgangspunkt für alle mathematischen
Überlegungen. Sämtliche anderen mathematischen Objekte wie Relationen,
Funktionen und sogar Zahlen kann man als spezielle Mengen definieren. Dieser Zugang zur Mathematik geht auf Cantor und Frege zurück und entstammt
dem Wunsch zu verstehen, was der eigentliche “Kern” der Mathematik ist.
Abgesehen davon, dass dadurch viele Dinge einfacher und klarer werden,
kommt diese Vorgehensweise insbesondere auch dem Informatiker entgegen:
Will man mathematische Objekte im Rechner verarbeiten, so genügt es im
Prinzip eine geeignete Datenstruktur für Mengen zu implementieren.
Es ist sehr wichtig, keine unbewiesenen Annahmen zu treffen,
aber noch wichtiger ist es, keine Worte zu benutzen, hinter denen
sich kein klarer Sinn verbirgt.
W. K. Clifford
Nun kann zwar die ganze Mathematik auf dem Begriff der Menge aufgebaut
werden, das bedeutet aber, dass man bei der Definition des Begriffs Menge
auf keine anderen Objekte der Mathematik zugreifen kann. Dies führte zu
Anfang des 20. Jahrhunderts zu einer großen Verwirrung, was genau unter
einer Menge zu verstehen ist. Die bis dahin allgemein akzeptierte intuitive
Vorstellung einer Menge führt nämlich — wie 1901 von Russel gezeigt — zu
Widersprüchen.
Folgende Definition stammt von Cantor aus dem Jahr 1895:
Definition 2.1 (Menge,Element)
Eine Menge ist eine Zusammenfassung M von wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens, welche
Elemente von M genannt werden, zu einem Ganzen.
V. Stahl
Logik und Künstliche Intelligenz
Seite 9
Notation 2.2 (∈, 6∈)
Um auszudrücken, dass ein Objekt x Element einer Menge M ist,
schreibt man x ∈ M, ist x kein Element von M schreibt man x 6∈ M.
Notation 2.3
Mengen kann man auf verschiedene Weisen schreiben. Die einfachste
Möglichkeit ist die aufzählende Schreibweise in der man alle ihre Elemente hinschreibt. Hierzu verwendet man geschweifte Klammern,
die Elemente werden durch Kommas getrennt.
Beispiel 2.4
Die Menge M = {2, 3, 5} hat die Elemente 2, 3 und 5 und
sonst keine weiteren Elemente. Es gilt also z.B. 5 ∈ M aber 7 6∈ M.
Eine Menge ist einzig und allein dadurch definiert welche Objekte sie als
Element enthält und welche nicht. Wenn zwei Mengen A und B genau die
selben Elemente enthalten sind sie folglich gleich. Man schreibt dann A = B,
andernfalls A 6= B.
Notation 2.5
Die Reihenfolge, in der die Elemente einer Menge hingeschrieben
werden, spielt keine Rolle.
Eine Menge M kann ein Objekt x entweder als Element enthalten oder nicht,
es gilt also entweder x ∈ M oder x 6∈ M. Insbesondere kann ein Objekt nicht
“mehrmals” in einer Menge enthalten sein. Welche Menge ist also gemeint
wenn man z.B. {3, 2, 2, 5, 5, 3, 5} schreibt? Eine Menge ist einzig dadurch
definiert, welche Elemente sie enthält, in diesem Beispiel sind das die Zahlen
2,3 und 5 und sonst nichts. Es handelt sich also um eine Menge mit genau 3
Elementen, genauer gesagt um die Menge {2, 3, 5}, d.h.
{2, 2, 3, 5, 5, 5} = {2, 3, 5}.
Aus Gründen der einfacheren Lesbarkeit wird man natürlich wenn man eine
Menge hinschreibt in aller Regel jedes Element nur einmal angeben.
Eine spezielle Menge ist die Menge, die gar keine Elemente enthält. Diese
Menge wird auch leere Menge genannt.
Notation 2.6
Die leere Menge wird durch {} oder auch ∅ bezeichnet.
V. Stahl
Logik und Künstliche Intelligenz
Seite 10
Für jedes beliebige Objekt x gilt also x 6∈ ∅.
Mengen müssen ihre Elemente nicht notwendigerweise nur aus Zahlen
rekrutieren. Laut Cantor können Mengen aus beliebigen Objekten unserer
Anschauung oder unseres Denkens bestehen. Man kann also z.B. auch die
Menge aller Häuser von Heilbronn definieren und wenn man Lust hat, zu
dieser Menge noch die Zahl 23 dazunehmen. Es ist insbesondere also auch
gar nicht nötig, dass die Elemente einer Menge in irgend einer Weise den
selben Typ haben.
In der Informatik findet man Mengen in Form von Datentypen. In Java
oder C++ ist z.B.
int = {−231 , . . . , 231 − 1}
float = Menge der 32 Bit Gleitkomma Zahlen
usw.
Dadurch dass wir uns mit Mengen beschäftigen, werden Mengen ihrerseits wiederum zu Objekten unserer Anschauung oder unseres Denkens. Man
kann daher auch Mengen von Mengen bilden, d.h. Mengen, deren Elemente
ihrerseits wiederum Mengen sind.
Beispiel 2.7
Die Menge {2, 3}, {5} hat zwei Elemente, nämlich die
Menge {2, 3} und die Menge {5}, d.h.
{2, 3} ∈ {2, 3}, {5}
{5} ∈ {2, 3}, {5}
Es ist wichtig den Unterschied zwischen der Zahl 5 und der Menge {5} festzuhalten. Insbesondere gilt im vorigen Beispiel
5 6∈ {2, 3}, {5} .
Beispiel 2.8
Um die Verwirrung komplett zu machen
wir
betrachten
nun im Gegensatz zum vorigen Beispiel die Menge {2, 3}, 5 . Diese
Menge hat ebenfalls zwei Elemente, nämlich die Menge {2, 3} und die
Zahl 5, d.h.
{2, 3} ∈ {2, 3}, 5
5 ∈ {2, 3}, 5
aber
{5} 6∈
{2, 3}, 5
V. Stahl
Logik und Künstliche Intelligenz
Seite 11
Man kann diesen Prozeß natürlich beliebig weitertreiben und z.B. Menge von
Mengen von Mengen definieren und damit recht komplizierte Dinge aufbauen.
Mengen mit endlich vielen Elementen bezeichnet man als endliche Mengen, Mengen mit unendlich vielen Elementen als unendliche Mengen. Bei
unendlichen Mengen kann man natürlich nicht alle Elemente hinschreiben.
Eine Möglichkeit besteht darin, einfach ein paar Elemente der Menge aufzuzählen und anzunehmen, dass der Leser sich schon denken kann welche
Menge gemeint ist.
Beispiel 2.9
{1, 2, 3, . . .}
{0, 1, 2, 3, . . .}
{. . . , −2, −1, 0, 1, 2, . . .}
{2, 3, 5, 7, 11, . . .}
Menge
Menge
Menge
Menge
der
der
der
der
natürlichen Zahlen, N
natürlichen Zahlen mit Null, N0
ganzen Zahlen, Z
Primzahlen
Die Begriffe “endlich” und “unendlich” haben wir nicht exakt definiert und
müssen uns daher zunächst auf unsere intuitive Vorstellung verlassen. Tatsächlich
ist diese Angelegenheit manchmal recht verwirrend: So gibt es z.B. unendlich
viele natürliche Zahlen, aber jede natürliche Zahl hat nur endlich viele Dezimalstellen. Die exakte Definition einer unendlichen Menge kommt in Anhang
A.
2.2
Beziehungen zwischen Mengen
Im Folgenden seien A und B Mengen.
Definition 2.10 (Teilmenge ⊆)
A ist eine Teilmenge von B, geschrieben A ⊆ B, wenn jedes Element von A auch Element von B ist.
B
A
AB
Abbildung 2.1: Teilmenge
V. Stahl
Logik und Künstliche Intelligenz
Seite 12
Beispiel 2.11
{2, 3}
N
∅
Z
⊆
⊆
⊆
⊆
{2, 3, 5}
Z
N
Z
Beispiel 2.12
Dass jeder Mensch sterblich ist, lässt sich unter Verwendung von Mengen auch so ausdrücken: Die Menge aller Menschen ist
eine Teilmenge der Menge aller sterblichen Dinge. Da Sokrates Element der Menge aller Menschen ist, ist Sokrates somit auch Element
der Menge aller sterblichen Dinge, siehe Bild 2.2.
Sterblich
Mensch
Sokrates
Abbildung 2.2: Jeder Mensch ist Sterblich und Sokrates ist ein Mensch.
In der Mathematik und allgemein bei logischen Überlegungen trifft man immer wieder auf die selben Formulierungen:
wenn . . . dann . . .
. . . genau dann wenn . . .
. . . und . . .
. . . oder . . .
nicht . . .
für alle . . . gilt . . .
es gibt ein . . . so dass . . . .
Um Zweideutigkeiten zu vermeiden, sollte man bei mathematischen Aussagen
möglichst auf diese Formulierungen zurückgreifen. Die Teilmengendefinition
lässt sich damit wie folgt schreiben:
V. Stahl
Logik und Künstliche Intelligenz
Seite 13
A ist Teilmenge von B genau dann wenn
für alle Objekte x gilt
wenn x ∈ A
dann x ∈ B.
Hat man eine Aussage auf diese Form gebracht, kann man viel Schreibaufwand sparen, indem man Symbole für die häufig verwendeten Formulierungen
verwendet:
Symbol
... → ...
... ↔ ...
...∧...
...∨...
¬...
∀...
∃...
Bedeutung
wenn . . . dann . . .
. . . genau dann wenn . . .
. . . und . . .
. . . oder . . .
nicht . . .
für alle . . . gilt . . .
es gibt ein . . . so dass . . .
Formulieren wir nun die Definition der Teilmengenbeziehung mit diesen Begriffen.
A ist Teilmenge von B genau dann wenn
für jedes Objekt x gilt:
wenn x ∈ A ist, dann ist x ∈ B.
Unter Verwendung der neuen Symbole kann man das sehr kompakt schreiben:
A ⊆ B ↔ ∀x (x ∈ A → x ∈ B).
Die Symbole ∀ und ∃ heißen Allquantor und Existenzquantor. In der Formel
treten 3 Variablen auf: A, B und x, wobei sich der Allquantor auf x bezieht.
Variablen, die einem Quantor zugeordnet sind, heißen gebundene Variablen,
während A und B freie Variablen sind.
Auf die Symbole →, ↔, ∧, ∨, ¬ werden wir in Kapitel 6 über Aussagenlogik genauer eingehen. Vorweg sei erwähnt, dass man mit diesen Symbolen
Aussagen miteinander verknüpft. So werden z.B. die Aussagen x ∈ A und
x ∈ B durch → verknüpft zu der Aussage x ∈ A → x ∈ B. Der Witz
dabei ist, dass man aus den Wahrheitswerten der Teilaussagen sehr einfach
auf den Wahrheitswert der Gesamtaussage schließen kann und zwar unter
Logik und Künstliche Intelligenz
V. Stahl
X
wahr
wahr
falsch
falsch
Y
wahr
falsch
wahr
falsch
X ∧Y
wahr
falsch
falsch
falsch
X ∨Y
wahr
wahr
wahr
falsch
X→Y
wahr
falsch
wahr
wahr
X ↔Y
wahr
falsch
falsch
wahr
Seite 14
X
wahr
falsch
¬X
falsch
wahr
Tabelle 2.1: Wahrheitstabllen der aussagenlogischen Symbole.
Verwendung von Wahrheitstabellen. Weiß man z.B. dass x ∈ A wahr ist,
und x ∈ B falsch ist, dann weiß man, dass die Aussage x ∈ A → x ∈ B
falsch ist. In Tabelle 2.1 sind die Wahrheitstabellen der aussagenlogischen
Symbole zusammengefasst. Große Verständnisprobleme bereiten oft die unsymmetrischen Wahrheitswerte von →. Wie man der Tabelle entnimmt, ist
die Aussagen X → Y immer wahr, wenn X falsch ist — ganz egal ob Y
dann wahr oder falsch ist. Die Aussage “wenn Bäume rot sind, dann können
Elefanten fliegen” ist somit rein logisch gesehen wahr.
Beispiel 2.13
√
√
• Die Aussage 2 ∈ Z → 2 ∈ N ist wahr.
√
√
• Die Aussage 2 ∈ Z → 2 ∈ R ist wahr.
√
√
• Die Aussage 2 ∈ R → 2 ∈ Z ist falsch.
Statt A ⊆ B schreibt man auch B ⊇ A und sagt B ist eine Obermenge
von A. In Kurzschreibweise liest sich diese Definition wie folgt:
B ⊇ A ↔ ∀x (x ∈ A → x ∈ B).
Ausdrücke dieser Form heißen Formeln der Prädikatenlogik. Abgesehen davon, dass man durch solche Formeln Aussagen sehr kompakt und unmissverständlich darstellen kann, haben sie noch einen weiteren Vorteil: Es gibt ein paar
einfache Rechengesetze, nach denen diese Formeln umgeschrieben werden
können, siehe Kapitel 7.3. Statt
x∈A→x∈B
kann man z.B. gleichbedeutend schreiben
x 6∈ B → x 6∈ A
oder
x 6∈ A ∨ x ∈ B
usw. Dass diese Ausdrücke tatsächlich äquivalent sind, kann man durch folgende Wahrheitstabelle verifizieren:
Logik und Künstliche Intelligenz
V. Stahl
x∈A
wahr
wahr
falsch
falsch
x∈B
wahr
falsch
wahr
falsch
x∈A→x∈B
wahr
falsch
wahr
wahr
x 6∈ B → x 6∈ A
wahr
falsch
wahr
wahr
Seite 15
x 6∈ A ∨ x ∈ B
wahr
falsch
wahr
wahr
Da es sich hierbei um Symbolmanipulation nach rein syntaktischen Regeln
handelt, kann auch der Rechner solche Umformungen durchführen. Er muss
hierbei nicht “verstehen” was die Formeln bedeutet, es genügt vollkommen
wenn er die Rechengesetze kennt. Damit sind Maschinen in gewissen Grenzen
in der Lage logische Schlussfolgerungen durchzuführen und Aussagen automatisch zu beweisen oder zu widerlegen. Mehr dazu in Kapitel ??.
Definition 2.14 (Gleichheit von Mengen)
A und B sind gleich, geschrieben A = B, genau dann wenn A ⊆ B
und B ⊆ A.
Oder kompakt:
A = B ↔ (A ⊆ B ∧ B ⊆ A).
Äquivalent kann man Mengengleichheit auch so definieren:
A = B ↔ ∀x (x ∈ A ↔ x ∈ B).
A und B sind also gleich, genau dann wenn sie die selben Elemente haben.
Dies wird auch Extensionality Principle genannt. Nach unserer intuitiven
Vorstellung einer Menge scheint das Extensionality Principle absolut selbstverständlich. Die Cantorschen Mengendefinition allein erzwingt jedoch nicht,
dass es z.B. nur eine einzige Zusammenfassung der Zahlen 1, 2, 3 gibt. Man
könnte sie z.B. einmal durch eine Plastiktüte zusammenfassen und ein anderes Mal in Geschenkpapier mit roter Schleife einwickeln. Dadurch würde man
verschiedene Objekte erhalten, die aber die selben Elemente haben. Damit
Mengen also tatsächlich dem entsprechen, was wir uns intuitiv unter ihnen
vorstellen, muss das Extensionality Principle explizit gefordert werden. Man
hätte es auch so formulieren können, dass es zu gegebenen Objekten nur eine
einzige Menge gibt, die genau diese Objekte enthält. Aus dem Extensionality
Principle folgt somit unter anderem, dass die Elemente einer Menge ungeordnet sind. Andernfalls ließen sich z.B. die Zahlen 1, 2, 3 zu unterschiedlichen
Mengen zusammenfassen, die sich nur in der Reihenfolge der Elemente unterscheiden.
Logik und Künstliche Intelligenz
V. Stahl
Seite 16
Definition 2.15 (Echte Teilmengen ⊂)
A ist eine echte Teilmenge von B, geschrieben A ⊂ B, genau dann
wenn A ⊆ B und A 6= B.
Statt A ⊂ B schreibt man auch B ⊃ A und sagt B ist eine echte Obermenge
von A. Die Formeln für A ⊂ B ist
A ⊆ B ∧ A 6= B,
die Formel für A ⊃ B ist
A ⊇ B ∧ A 6= B.
Alternativ kann man A ⊂ B auch so definieren, dass A ⊆ B ist und ausserdem B mindestens ein Element haben muss, das nicht in A ist. Die Formel
hierfür ist
A ⊆ B ∧ ∃x (x ∈ B ∧ x 6∈ A).
Dass diese beiden Definitionen der echten Teilmenge äquivalent sind, kann
von einer Maschine in wenigen Millisekunden bewiesen werden.
Definition 2.16 (Disjunkte Mengen)
A und B heißen disjunkt wenn sie keine gemeinsamen Elemente
haben.
A
A; B
B
B
A
niht disjunkt
A; B
disjunkt
Abbildung 2.3: Disjunkte Mengen
Um zu einer Formel zu kommen, schreiben wir die Definition von disjunkten
Mengen etwas um: A und B heißen disjunkt, wenn es kein Objekt x gibt, das
(gleichzeitig) in A und in B ist. Damit erhält man
¬∃x (x ∈ A ∧ x ∈ B).
Allgemein darf man in einer Formel
¬∃x . . .
Logik und Künstliche Intelligenz
V. Stahl
Seite 17
ersetzen durch
∀x¬ . . . .
Damit erhält man die alternative Definition
∀x¬(x ∈ A ∧ x ∈ B).
Weiterhin darf man
¬(. . . ∧ . . .)
ersetzen durch
(¬ . . .) ∨ (¬ . . .).
Damit erhält man
∀x (x 6∈ A ∨ x 6∈ B).
Zurückübersetzt in natürliche Sprache besagt diese Formel, dass A und B
disjunkt sind genau dann wenn jedes Objekt x entweder nicht in A oder
nicht in B ist — was natürlich richtig ist.
2.3
Comprehension Principle
Meistens beschäftigt man sich mit Mengen, deren Elemente durch eine Eigenschaft E beschrieben sind, z.B. die Menge der Objekte, die die Eigenschaft
erfüllen, eine gerade natürliche Zahl zu sein.
Notation 2.17
Die Menge, die aus genau den Objekten besteht, die eine Eigenschaft
E erfüllen wird durch
{x | x erfüllt E}
bezeichnet. Man sagt dazu auch “die Menge aller x, die E erfüllen”.
Beispiel 2.18
• {x | x ist Primzahl }
Menge der Primzahlen.
• {x | x ∈ N und x ist durch 3 teilbar }
Menge der durch 3 teilbaren, natürlichen Zahlen.
• {p/q | p ∈ Z, q ∈ N}
Menge der rationalen Zahlen Q.
V. Stahl
Logik und Künstliche Intelligenz
Seite 18
Im letzten Beispiel hätte man eigentlich schreiben müssen
{x | es gibt ein p ∈ Z und ein q ∈ N so dass x = p/q},
aber solang klar ist was gemeint ist, sind Vereinfachungen in der Notation
durchaus erlaubt.
Dass es zu jeder Eigenschaft E eine Menge gibt, die aus genau den Objekten besteht, die die E erfüllen, heißt Comprehension Principle. Es bedeutet,
dass Mengen und Eigenschaften im Prinzip das Selbe sind: Eine Eigenschaft
ist definiert durch die Menge aller Objekte, die die Eigenschaft erfüllen, und
diese Menge ist wiederum durch die Eigenschaft definiert. Die Eigenschaft
“rot” kann man z.B. definieren als die Menge aller roten Objekte oder die
Zahl drei als die Menge aller dreielementigen Objekte.
Das Comprehension Principle ist ein sehr mächtiges Instrument um Mengen zu definieren. Da es kein Objekt x gibt, für das x 6= x gilt, lässt sich auch
die leere Menge mit dem Comprehension Principle definieren:
∅ = {x | x 6= x}.
2.4
Russelsche Antinomie
Seit man begonnen hat, die einfachsten Behauptungen zu beweisen, erweisen sich viele von ihnen als falsch.
Bertrand Russel
Das Comprehension Principle scheint offensichtlich richtig, es erwies sich jedoch zu Anfang des 20. JH als verheerender Irrtum und stellte die gesamte
Welt der Mathematik in Frage. Der Irrtum beschränkt sich nicht nur auf die
Mengenlehre oder die Mathematik sondern manifestiert sich in allen Bereichen des logischen Denkens. Insbesondere ist er auch verantwortlich für die
vielen unentscheidbaren Problemen der Informatik wie z.B. dem Halteproblem.
Prominentestes Opfer dieses Irrtums war Frege, der gerade ein Werk über
die Grundlagen der Mathematik basierend auf Mengen und Logik vollendet
hat, als er den berühmten Brief von Russel bekam . . . . Hierin wird eine
Eigenschaft E definiert, zu der es keine Menge
{x | x erfüllt E}
gibt.
Das Comprehension Principle erlaubt es, die Menge M aller Mengen zu
definieren, d.h.
M = {x | x ist eine Menge}.
V. Stahl
Logik und Künstliche Intelligenz
Seite 19
Diese Menge enthält alle Objekte, die die Eigenschaft erfüllen eine Menge zu
sein, also z.B.
{2, 3, 5} ∈ M
{2, 3}, 5 ∈ M
∅ ∈ M
Interessanterweise ist M selbst aber auch ein Objekt, das die Eigenschaft
erfüllt eine Menge zu sein, und somit gilt
M ∈ M.
Es ist zunächst kontraintuitiv, dass eine Menge sich selbst als Element enthalten kann. Nach dem Comprehension Principle ist das aber völlig legitim.
M ist bei weitem nicht die einzige Menge, die sich selbst enthält. Auch die
Menge
G = {x | x ist kein Gänseblümchen }
enthält sich selbst: G ist eine Menge und somit kein Gänseblümchen, daher
ist
G ∈ G.
Da jede Menge die Eigenschaft hat, kein Gänseblümchen zu sein, gilt
M ⊆ G.
Andererseits ist M aber auch kein Gänseblümchen, somit gilt
M ∈ G.
Weiterhin ist G eine Menge und daher auch
G ∈ M.
Es gibt also Mengen, die sich nicht nur selbst enthalten sondern auch gegenseitig und außerdem kann eine noch Teilmenge der anderen sein. Das alles
entspricht zwar nicht gerade unserer intuitiven Vorstellung von Mengen, ist
aber eine zwingende Folge des Comprehension Principles.
Ein erstes Beispiel einer Eigenschaft, aus der sich keine Menge konstruieren lässt, wurde von Russel im Jahr 1901 gefunden und ging als Russelsche
Antinomie in die Geschichte ein. Wie wir gesehen haben, gibt es (zugegebenermaßen recht seltsame) Mengen, die sich selbst enthalten. Bezeichnen wir
die Menge aller Mengen, die sich selbst enthalten mit S, d.h.
S = {x | x ist eine Menge und x ∈ x}.
Logik und Künstliche Intelligenz
V. Stahl
Seite 20
Da M eine Menge ist, die sich selbst enthält (d.h. M ∈ M), gilt
M ∈ S.
Außerdem ist jedes Element von S eine Menge und somit
S ⊆ M.
Schauen wir uns nun die anderen (normalen) Mengen an, d.h. Mengen wie
{1, 2, 3}, Q, ∅, usw., die sich nicht selbst enthalten. Es geht also um die
Eigenschaft, eine Menge zu sein, die sich nicht selbst als Element enthält, d.h.
eine harmlose Eigenschaft, die eigentlich von fast allem erfüllt wird außer so
exotischen Dingen wie z.B. der Menge M aller Mengen. Sei also R die Menge
aller Mengen, die sich nicht selbst als Element enthalten, d.h.
R = {x | x ist eine Menge und x 6∈ x}.
Es gilt somit z.B.
{1, 2, 3} ∈ R,
Q ∈ R,
∅ ∈ R,
M 6∈ R,
G 6∈ R.
Wir zeigen nun, dass R keine Menge ist, d.h. R 6∈ M. Offensichtlich ist jede
Menge entweder in R oder in S. Wenn R eine Menge wäre, müsste gelten
entweder R ∈ R oder R ∈ S.
Beide Möglichkeiten führen jedoch zu einem Widerspruch:
• Angenommen R ∈ R, dann wäre laut Definition R eine Menge, die
sich nicht selbst als Element hat, d.h. R 6∈ R, was ein Widerspruch zur
Annahme ist.
• Angenommen R ∈ S. Dann wäre laut Definition R eine Menge, die sich
selbst enthält, d.h. R ∈ R. Da aber R und S disjunkt sind, folgt R 6∈ S,
was ein Widerspruch zur Annahme ist.
Es gilt also weder R ∈ R noch R ∈ S. Da aber jede Menge entweder in R
oder in S ist, ist R keine Menge. Es gibt also tatsächlich Eigenschaften, aus
denen keine Menge konstruiert werden kann! Diese bittere Erkenntnis war
ein Schock für die gesamte mathematische Welt zu Anfang des 20. Jahrhunderts. Viele Theorien, die bis dahin auf einer intuitiven Vorstellungen des
Mengenbegriffs basierten, mussten neu durchdacht und formuliert werden.
Berühmte Mathematiker, wie z.B. Ernst Zermelo, Abraham Fraenkel, John
von Neumann, Paul Bernays und Kurt Gödel (siehe Anhang C und D) haben
Logik und Künstliche Intelligenz
V. Stahl
Seite 21
sich daraufhin mit der Entwicklung einer widerspruchsfreien Mengentheorie
beschäftigt und darauf die gesamte Mathematik aufgebaut.
Eine ähnliche logische Überlegung, wie sie hinter der Russelschen Antinomie steckt, führte 1931 zu den Gödelschen Unvollständigkeitssätzen. Diese
besagen (anschaulich ausgedrückt), dass man die Korrektheit der Mathematik nicht mit den Methoden der Mathematik beweisen kann. Genau dies war
jedoch das Ziel des Hilbertschen Programms, das damit gescheitert war. Die
Stimmung der Zeit drückt folgendes Zitat aus:
Niemand soll uns aus dem Paradies vertreiben, das Cantor geschaffen hat.
David Hilbert
Aber das nur am Rande — die Eigenschaften mit denen wir uns beschäftigen
werden, sind immer so, dass eine entsprechende Menge dazu existiert. Anders
ausgedrückt: Das Comprehension Principle gilt nach wie vor in entsprechend
eingeschränkter Form, siehe Anhang C.
M
G
: Menge aller Mengen
M
S : \seltsame" Mengen, die
sih selbst enthalten
f1; 2; 3g
;
Q
R: \normale" Mengen, die
sih niht selbst enthalten
Abbildung 2.4: Russelsche Antinomie
2.5
Operationen auf Mengen.
Definition 2.19 (Mächtigkeit endlicher Mengen)
Ist A eine endliche Menge, so ist die Mächtigkeit von A, geschrieben
|A|, definiert als die Anzahl der Elemente von A.
Beispiel 2.20
|{2, 3, 5}| = 3
|∅| = 0
V. Stahl
Logik und Künstliche Intelligenz
Seite 22
Genaugenommen ist diese Definition der Mächtigkeit einer endlichen Menge
nicht akzeptabel weil vorausgesetzt wird, was die “Anzahl” der Elemente
einer Menge ist. Bisher haben wir ja noch nicht einmal definiert was Zahlen
sind! Um es richtig zu machen, braucht man noch eine ganze Menge Theorie
– die Lösung kommt in Anhang A.
Definition 2.21 (Vereinigungsmenge)
Die Vereinigungsmenge von A und B ist definiert als
A ∪ B = {x | x ∈ A ∨ x ∈ B}
Die Definition der Vereinigungsmenge zweier Mengen A und B beruht somit
auf dem Comprehension Principle. Die zugrundeliegende Eigenschaft ist x ∈
A ∨ x ∈ B.
Beispiel 2.22
{2, 3, 5} ∪ {3, 6, 9} = {2, 3, 5, 6, 9}
N∪Z = Z
Schauen wir uns den Ausdruck
{x | x ∈ A ∨ x ∈ B}
genauer an. Es sind hier die Variablen A, B und x im Spiel. Man kann für A
und B Mengen einsetzen und erhält dadurch wiederum eine Menge, nämlich
die Vereinigungsmenge von A und B. Somit sind A und B freie Variablen.
Wenn man für x ebenfalls eine Menge einsetzen würde, würde ein sinnloser
Ausdruck herauskommen. Es handelt sich daher bei x um eine gebundene
Variable.
Definition 2.23 (Schnittmenge)
Die Schnittmenge von A und B ist definiert als
A ∩ B = {x | x ∈ A ∧ x ∈ B}
Die Definition der Schnittmenge zweier Mengen A und B beruht somit auf
dem Comprehension Principle. Die zugrundeliegende Eigenschaft ist x ∈
A ∧ x ∈ B. Offensichtlich sind A und B disjunkt genau dann wenn die
Schnittmenge von A und B leer ist, d.h.
A ∩ B = ∅.
Logik und Künstliche Intelligenz
V. Stahl
Seite 23
Beispiel 2.24
{−2, 5, 9} ∩ N = {5, 9}
{x | x ∈ Q ∧ x > 5} ∩ {2, 3} = ∅
Definition 2.25 (Mengendifferenz)
Die Mengendifferenz von A und B ist definiert als
A \ B = {x | x ∈ A ∧ x 6∈ B}
Auch die Definition der Mengendifferenz zweier Mengen A und B beruht
auf dem Comprehension Principle. Die zugrundeliegende Eigenschaft ist x ∈
A ∧ x 6∈ B.
Beispiel 2.26
{2, 3, 5} \ {2, 6} = {3, 5}
Z \ N = {0, −1, −2, . . .}
B
A
A[B
B
A
A\B
B
A
AnB
Abbildung 2.5: Vereinigungsmenge, Schnittmenge, Mengendifferenz
Definition 2.27 (Potenzmenge)
Die Potenzmenge von A ist definiert als
P(A) = {B | B ⊆ A}.
Die Potenzmenge einer Menge A ist also die Menge aller Teilmengen von A.
Auch hier findet man das Comprehension Principle wieder. Die zugrundeliegende Eigenschaft ist Teilmenge von A zu sein. Man beachte, dass die leere
Menge ∅ immer Element der Potenzmenge von A ist, ganz egal was A ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 24
Beispiel 2.28
P({1, 2, 3}) = ∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}
P(∅) = ∅ .
Manchmal wird statt P(A) auch 2A geschrieben. Dies ist dadurch motiviert,
dass für endliche Mengen A gilt
|P(A)| = 2|A| .
Dieser Sachverhalt lässt sich durch folgendes Diagramm veranschaulichen:
P()
|
A −−−→


|y
P(A)

| |
y
|A| −−−
→ |P(A)| = 2|A|
x
2
Die Potenzmengenoperation auf Mengen entspricht somit der 2x Operation
auf ihren Kardinalitäten.
2.6
Paare
Da das Rechnen mit “reinen” Mengen schnell langweilig wird, sollten
wir uns zügig daran machen, neue Dinge mit Mengen zu konstruieren. In der
Sprache des Informatikers sind Mengen Container für irgend welche Objekte.
Eine charakteristische Eigenschaft ist, dass die Elemente einer Menge ungeordnet sind. Es macht also keinen Sinn vom “ersten” oder “zweiten” Element
der Menge zu sprechen. Ausserdem kann ein Objekt nicht mehrmals in einer
Menge drin sein — es gibt nur die Optionen in der Menge zu sein oder nicht
in der Menge zu sein.
Es wäre sicherlich nützlich, auch einen Container Typ zu haben, der
konträre Eigenschaften mitbringt:
• Die Objekte in dem Container sollen geordnet sein, d.h. es soll festgelegt
sein, welches das erste, zweite, dritte, usw. Objekt in dem Container
ist.
• Ein und das selbe Objekt darf auch mehrmals (an unterschiedlicher
Position) im Container sein.
V. Stahl
Logik und Künstliche Intelligenz
Seite 25
Diese zweite Art von Containern heißt Tupel. Um Tupel von Mengen zu
unterscheiden, werden runde Klammern statt der geschweiften Klammern
verwendet. So ist z.B.
(7, 7, −1)
ein Tupel mit 3 Komponenten. Die erste Komponente ist 7, die zweite ist
ebenfalls 7 ud die dritte ist −1. Bei Tupeln ist die Reihenfolge festgelegt,
d.h.
(7, 7, −1) 6= (7, −1, 7).
Weiterhin kann ein Objekt mehr als einmal im Tupel vorkommen, d.h.
Bei Mengen gilt hingegen
(7, 7, −1) 6= (7, −1).
{7, 7, −1} = {7, −1} = {7, −1, 7}.
Wie versprochen kann man jedes Objekt in der Mathematik aus Mengen
konstruieren — insbesondere auch Tupel. Dies scheint zunächst kontraintuitiv:
• Den Mengen ist Ordnung völlig fremd, woher soll also die Ordnungsinformation in einem Tupel kommen?
• Eine Menge würde aus zwei gleichen Objekten ohne zu zögern eines
machen, wie lässt sich also das zweite in einem Tupel retten?
Beginnen wir mit dem einfachsten Fall, einem Tupel welches nur zwei
Objekte aufnehmen kann. Solche Minimaltupel werden auch Paare genannt.
Zunächst wird gezeigt, wie man ein Paar unter ausschließlicher Verwendung von Mengen konstruieren kann. Dann wird gezeigt, dass ein Paar auch
tatsächlich die geforderten Eigenschaften hat, nämlich
• dass man aus zwei beliebigen Objekten ein Paar machen kann
• und umgekehrt von jedem Paar eindeutig sagen kann, was die erste und
was die zweite Komponente ist.
Der Informatiker würde sagen, dass man einen Konstruktor und Zugriffsoperationen braucht.
Definition 2.29 (Konstruktion eines Paars aus zwei Objekten)
Das Paar bestehend aus der ersten Komponente a und der zweiten
Komponente b ist die Menge
(a, b) = {a}, {a, b} .
V. Stahl
Logik und Künstliche Intelligenz
Seite 26
Beispiel 2.30
Das Paar bestehend aus der ersten Komponente 2 und
der zweiten Komponente 5 ist die Menge
(2, 5) = {2}, {2, 5} .
Man beachte, dass
{a, b} = {b, a}
aber
(a, b) 6= (b, a)
falls a 6= b.
Beispiel 2.31
Beispiel 2.32
(2, 5) = {2}, {2, 5} 6= {5}, {5, 2} = (5, 2).
(2, 2) = {2}, {2, 2}
= {2}, {2}
= {2} .
Definition 2.29 legt fest, wie man aus zwei Objekten ein Paar konstruiert.
Ein Paar ist somit eine Menge mit speziellen Eigenschaften:
Definition 2.33 (Paar)
Eine Menge M ist ein Paar, wenn es zwei Objekte a und b gibt, so
dass
M = {a}, {a, b} .
In der Sprache der Prädikatenlogik liest sich diese Definition wie folgt:
Paar(M) ↔ ∃a ∃b M = {a}, {a, b} .
Die freie Variable in dieser Formel ist M, während die Variablen a und b
durch einen Existenzquantor gebunden sind.
Beispiel 2.34
Die Menge
{1}, {1, 2, 3}
ist kein Paar. Andererseits ist die Menge
{7, ∅}, {∅}
V. Stahl
Logik und Künstliche Intelligenz
Seite 27
ein Paar, denn für a = ∅ und b = 7 gilt
(∅, 7) = {∅}, {∅, 7}
= {7, ∅}, {∅} .
Auch die Menge {3} ist ein Paar, obwohl sie auf den ersten Blick
gar nicht so aussieht:
(3, 3) = {3}, {3, 3}
= {3}, {3}
= {3} .
Hat man ein Paar {a}, {a, b} gegeben, so kann man eindeutig darauf
zurückschließen, dass a die erste Komponente und b die zweite Komponente
ist. Es gibt also keine Objekte a′ 6= a oder b′ 6= b mit
{a}, {a, b} = {a′ }, {a′, b′ } .
Theorem 2.35
Ist M ein Paar, dann gibt es genau ein Objekt a und genau ein
Objekt b so dass
M = {a}, {a, b} .
In der Sprache der Prädikatenlogik liest sich dieses Theorem wie folgt:
∀M Paar(M) → ∃!a ∃!b M = {a}, {a, b} .
Das neue Symbol ∃! bedeutet hierbei “es gibt genau ein”.
Beweis. Angenommen
{a}, {a, b} = {a′ }, {a′ , b′ } .
Zu zeigen ist, dass dann zwingend folgt a = a′ und b = b′ . Setzt man
die Definition der Mengengleichheit in die Annahme ein, erhält man
{a}, {a, b} ⊆ {a′ }, {a′ , b′ } und
{a}, {a, b} ⊇ {a′ }, {a′ , b′ } .
Geht man auf die Definition von ⊆ zurück, erhält man aus der ersten
Teilmengenbeziehung
{a} ∈ {a′ }, {a′ , b′ } .
Logik und Künstliche Intelligenz
V. Stahl
Seite 28
Hieraus folgt
{a} = {a′ } oder {a} = {a′ , b′ }.
In beiden Fällen folgt a = a′ .
Setzt man a = a′ in die Annahme ein, erhält man
{a}, {a, b} = {a}, {a, b′ } .
Man betrachtet nun zwei Fälle:
• Angenommen a = b. Dann ist
{a}, {a, b} = {a}
und somit
{a} = {a}, {a, b′ } .
Folglich muss b′ = a sein. Damit ist dann aber
b′ = a = b
und somit b′ = b.
• Angenommen a 6= b. Dann muss
{a, b} = {a, b′ }
sein und somit
Da a 6= b, folgt b = b′ .
b ∈ {a, b′ }
Damit lässt sich definieren, was man unter dem Begriff “erste Komponente”
und “zweite Komponente” eines Paars versteht:
Definition 2.36 (Erste und zweite Komponente eines Paars)
Die erste bzw. zweite Komponente eines Paars M ist das eindeutig
bestimmte Objekt a bzw. b so dass
M = {a}, {a, b} .
Die erste bzw. zweite Komponente eines Paars M wird oft mit π1 (M) bzw.
π2 (M) bezeichnet. Bei π1 bzw. π2 handelt es sich um die sog. Projektionsfunktionen, die jedem Paar seine erste bzw. zweite Komponente zuordnen.
Logik und Künstliche Intelligenz
V. Stahl
Seite 29
Der essentielle Unterschied zwischen dem Paar (a, b) und der Menge {a, b}
liegt darin, dass man beim Paar (a, b) sagen kann, welches die erste Komponente und welches die zweite Komponente ist, bei der Menge {a, b} hingegen
nicht. Ist nämlich {A, B} ein Paar, so gilt entweder A ⊆ B oder B ⊆ A. Im
ersten Fall ist die erste Komponente das (einzige) Element von A, im zweiten
Fall ist die erste Komponente das (einzige) Element von B. Es ist durchaus
zulässig dass bei einem Paar beide Komponenten gleich sind. So ist z.B. (3, 3)
das Paar mit erster und zweiter Komponente 3.
Aufgrund von Definition 2.29 ist klar, wie man aus zwei Objekten ein
Paar macht. Somit liegt auf der Hand, wie man aus drei Objekten ein Tripel
konstruiert: Man macht aus den ersten zwei ein Paar und daraus und dem
dritten wiederum ein Paar und nennt das Ergebnis Tripel.
Beispiel 2.37
Das Tripel (4, 1, 9) ist nichts anderes als ein Paar, dessen
erste Komponente (4, 1) und dessen zweite Komponente 9 ist, d.h.
(4, 1, 9) = (4, 1), 9
= {(4, 1)}, {(4, 1), 9}
n
o
=
{{4}, {4, 1}} , {{4}, {4, 1}}, 9
Iteriert man diesen Prozess, erhält man n-Tupel:
Definition 2.38 (n-Tupel)
Ein n-Tupel (x1 , x2 , . . . , xn ) von Objekten x1 , x2 , . . . , xn ist definiert
durch
(x1 ) = x1
(x1 , x2 , . . . , xi+1 ) = ((x1 , x2 , . . . , xi ), xi+1 ),
i = 1, . . . , n − 1.
Bemerkung. Vorsicht: Nach unserer Definition ist
(x1 , x2 , x3 ) = ((x1 , x2 ), x3 )
ein Tripel, aber
(x1 , (x2 , x3 ))
ist kein Tripel! Insbesondere ist ((x1 , x2 ), x3 ) 6= (x1 , (x2 , x3 )). Die erste Komponente vom ersten Term ist (x1 , x2 ), die erste Komponente
vom zweiten Term ist x1 , was offensichtlich nicht das selbe ist. (Es
ist recht instruktiv, die Definition eines Paars heranzuziehen und die
beiden Ausdrücke als Mengen zu schreiben.)
Logik und Künstliche Intelligenz
V. Stahl
2.7
Seite 30
Kartesische Produkte
Hat man zwei Mengen A und B, dann kann man Paare bilden, bei denen die
erste Komponente aus A ist und die zweite aus B. Die Menge aller solcher
Paare heißt das kartesische Produkt von A und B.
Definition 2.39 (Kartesisches Produkt)
Das kartesische Produkt von A und B ist definiert als
A × B = {(a, b) | a ∈ A ∧ b ∈ B}.
Beispiel 2.40
{0, 1} × {0, 1} = {(0, 0), (0, 1), (1, 0), (1, 1)}
{1, 3, 5} × {2, 4} = {(1, 2), (1, 4), (3, 2), (3, 4), (5, 2), (5, 4)}
Beispiel 2.41
Sei
A = {rot, grün, blau}
eine Menge von Farben und
B = {Ford, BMW}
eine Menge von Automarken. Im kartesischen Produkt trifft jede Farbe
aus A auf jede Automarke aus B:
A × B = {(rot, Ford), (rot, BMW), (grün, Ford), (grün, BMW)
(blau, Ford), (blau, BMW)}
Kartesische Produkte lassen sich als Punkte in einem Koordinatensystem darstellen, wobei die Achsen durch die beiden Mengen beschriftet
sind, siehe Bild 2.6.
Theorem 2.42
Für jede Menge A gilt A × ∅ = ∅ und ∅ × A = ∅.
Beweis. Mit der Definition des kartesischen Produkts erhält man
A × ∅ = {(a, b) | a ∈ A ∧ b ∈ ∅}.
Da es kein b gibt, welches die Eigenschaft b ∈ ∅ erfüllt, existiert auch
kein Paar (a, b) welches die Eigenschaft a ∈ A, b ∈ ∅ hat. Somit ist
A × ∅ = ∅. Der Beweis von ∅ × A = ∅ ist analog. Logik und Künstliche Intelligenz
V. Stahl
BMW
Seite 31
(rot; BMW)
(gr
un; BMW)
(blau; BMW)
(rot; Ford)
(gr
un; Ford)
(blau; Ford)
Ford
rot
gr
un
blau
Abbildung 2.6: Darstellung eines kartesischen Produktes in einem Koordinatensystem.
Die Bezeichung “Produkt” für A × B ist dadurch motiviert, dass für endliche
Mengen A, B gilt
|A × B| = |A| |B|.
Wie im Fall der Potenzmengen lässt sich auch dieser Zusammenhang durch
ein Diagramm veranschaulichen:
A, B


| |y
|A|, |B|
kartesisches Produkt
−−−−−−−−−−−−−−−−→
−−−−−−−−−−−→
Multiplikation
A×B

| |
y
|A × B| = |A| |B|
Das kartesische Produkt von Mengen entspricht somit der Multiplikation
ihrer Kardinalitäten.
Definition 2.43 (n-faches kartesisches Produkt)
Für jedes n ∈ N ist das n-fache kartesische Produkt An von A
definiert durch
A1 = A
Ai+1 = Ai × A,
i = 1, . . . , n − 1.
Die Elemente von An sind also genau die n-Tupel von Elementen von A.
Logik und Künstliche Intelligenz
V. Stahl
Seite 32
Beispiel 2.44
{0, 1}3 = {0, 1}2 × {0, 1}
= {(0, 0), (0, 1), (1, 0), (1, 1)} × {0, 1}
= {((0, 0), 0), ((0, 0), 1), ((0, 1), 0), ((0, 1), 1),
((1, 0), 0), ((1, 0), 1), ((1, 1), 0), ((1, 1), 1)}
= {(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1),
(1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)}
4
∅ = ∅
N1 = N
Ist A endlich, so gilt offensichtlich |An | = |A|n .
Bemerkung. Die Schreibweise A × A × A verleitet zur Annahme, dass
(A × A) × A
und
A × (A × A)
das selbe ist. Dies ist jedoch nicht der Fall wie man sieht wenn man sich
die Definition eines Paars vergegenwärtigt! Wie gesagt, ist bei jedem
Paar eindeutig festgelegt, was die erste Komponenten ist. Ist x ∈ (A ×
A) × A, so ist die erste Komponenten von x ein Element von (A × A).
Ist hingegen x ∈ A × (A × A), so ist die erste Komponente ein Element
von A. Wir halten daher explizit fest, dass
(A × B) × C 6= A × (B × C)
für alle nichtleeren Mengen A, B, C.
Logik und Künstliche Intelligenz
V. Stahl
3
Seite 33
Relationen
Beispiele von Relationen sind Ihnen sicher schon einige bekannt, z.B. die
kleiner-gleich Relation auf den natürlichen oder ganzen Zahlen. In diesem
Kapitel zeigen wir zunächst, dass auch Relationen nichts anderes sind als
Mengen mit einer bestimmten Struktur und diskutieren dann ein Eigenschaften spezieller Relationen.
3.1
Der Begriff der Relation
Definition 3.1 (Relation auf A und B)
Eine Menge R heißt Relation auf A und B wenn
R ⊆ A × B.
Definition 3.2 (Relation)
Eine Menge R heißt Relation, wenn es Mengen A und B gibt so
dass
R ⊆ A × B.
Eine Relation ist also einfach eine Menge von Paaren.
Beispiel 3.3
N ist keine Relation. Die Menge
{(2, 3), (6, 11)}
ist eine Relation. Andererseits ist
{(2, 3), (6, 11), 27}
keine Relation.
Ist
(a, b) ∈ R
so schreibt man auch
aRb
und sagt a steht in Relation R zu b oder das Paar (a, b) erfüllt R. Ist A = B,
d.h. R ⊆ A × A so sagt man auch R ist eine Relation auf A.
V. Stahl
Logik und Künstliche Intelligenz
Seite 34
Beispiel 3.4
Die kleiner-gleich Relation auf den natürlichen Zahlen ist
nichts anderes als die Menge aller Paare (a, b) ∈ N ×N, für die a kleiner
oder gleich b ist:
≤N = { (1, 1), (1, 2), (1, 3), . . . ,
(2, 2), (2, 3), (2, 4), . . . ,
(3, 3), (3, 4), (3, 5), . . . ,
..
..
..
..
.
.
.
.
}
Statt (3, 5) ∈ ≤N schreibt man üblicherweise auch 3 ≤N 5. Das ist zwar
von der Notation her prägnanter, verschleiert aber völlig die Tatsache,
das Relationen einfach Mengen von Paaren sind.
Beispiel 3.5
Die kleiner Relation auf den natürlichen Zahlen <N ist
definiert durch
<N = {(a, b) | a ∈ N, b ∈ N, a ist kleiner b }.
Offensichtlich gilt <N ⊂ ≤N : Wenn (a, b) ∈ <N ist, d.h. a <N b, dann
gilt auch a ≤N b und somit (a, b) ∈ ≤N . Andererseits ist z.B. (3, 3) ∈ ≤N
aber (3, 3) 6∈ <N .
Beispiel 3.6
Die Gleichheitsrelation auf den natürlichen Zahlen =N ist
definiert durch
=N = {(a, b) | a ∈ N, b ∈ N, a ist gleich b }
= {(a, a) | a ∈ N}
= {(1, 1), (2, 2), (3, 3), . . .}
Offensichtlich gilt
<N ∪ =N = ≤N
und
<N ∩ =N = ∅.
Beispiel 3.7
Die kleiner-gleich Relation auf den ganzen Zahlen ≤Z ist
definiert durch
≤Z = {(a, b) | a ∈ Z, b ∈ Z, a ist kleiner oder gleich b }.
Offensichtlich gilt ≤N ⊂ ≤Z da z.B. (−2, 4) ∈ ≤Z aber (−2, 4) 6∈ ≤N .
Logik und Künstliche Intelligenz
V. Stahl
b
4
3
2
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
b
Seite 35
4
3
2
1
a
1 2 3 4
1 2 3 4
a
Abbildung 3.1: ≤N Relation (links) und <N Relation (rechts)
b
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:::
:::
:::
1 2 3
:::
:::
:::
a
2
3
.
.
.
Abbildung 3.2: ≤Z Relation
Beispiel 3.8
Die Relation σ ⊆ N × N ist definiert durch
σ = {(a, b) | a ∈ N, b ∈ N, b = a + 1}
= {(1, 2), (2, 3), (3, 4), . . .}.
Offensichtlich gilt σ ⊂ <N , da z.B. (2, 4) ∈<N aber (2, 4) 6∈ σ.
Beispiel 3.9
Die Relation ≡3 ⊆ N0 × N0 ist definiert durch
≡3 = {(a, b) | a ∈ N0 , b ∈ N0 , a − b ist durch 3 teilbar }
So ist z.B. (10, 4) ∈ ≡3 da 10 − 4 = 6 und 6 ist durch 3 teilbar. Wie
üblich benutzt man auch die Notation 10 ≡3 4.
Andererseits ist (5, 4) 6∈ ≡3 da 5 − 4 = 1 und 1 ist nicht durch 3 teilbar.
Man schreibt auch 5 6≡3 4.
Beispiel 3.10
dargestellt.
In Bild 3.4 und 3.5 sind Beispiele von Relationen auf R
Logik und Künstliche Intelligenz
V. Stahl
b
.
b
.
.
.
.
.
.
.
.
.
.
.
a
.
.
.
7
6
5
4
3
2
1
.
.
.
7
6
5
4
3
2
1
1 2 3 4 5 6 7
Seite 36
1 2 3 4 5 6 7
a
Abbildung 3.3: σ Relation (links) und ≡3 Relation (rechts).
Beispiel 3.11
Einige Relationen sind uns schon im Kapitel 2 begegnet
ohne dass wir diese explizit als Relationen bezeichnet haben. So ist z.B.
⊆ eine Relation auf der Menge aller Mengen. Zwei Mengen A und B
stehen in Relation ⊆ wenn A Teilmenge von B ist. Statt
A⊆B
kann man somit auch schreiben
(A, B) ∈ ⊆ .
Ist M die Menge aller Mengen, so gilt
⊆⊆M ×M
da ⊆ eine Relation auf M ist.
Beispiel 3.12
Auch ∈ ist eine Relation. Sei O die Menge aller Objekte
à la Cantor und M die Menge aller Mengen. Dann ist ∈ eine Relation
auf O und M. Statt
5∈N
kann man somit auch schreiben
(5, N) ∈ ∈ .
Es gilt also
∈ ⊆ O × M.
Logik und Künstliche Intelligenz
V. Stahl
b
Seite 37
b
3
2
3 2
6
5
4
3
2
1
a
2 3
2
3
3 2 1
f(a; b) j a 2 R; b 2 R; jaj = jbjg
1 2 3
a
f(a; b) j a 2 R; b 2 R; b = a2 g
Abbildung 3.4: Beschreibung von Geraden und Kurven durch Relationen auf
R
b
b
3
3
3
3
a
3
3
3
f(a; b) j a 2 R; b 2 R;
a
3
p
a
g
2 + b2 = 2
f(
a; b)
j 2R 2R
a
;b
;
p
a
2 + b2
2g
Abbildung 3.5: Beschreibung von Kreisen und ausgefüllte Kreisen durch Relationen auf R
Logik und Künstliche Intelligenz
V. Stahl
Seite 38
...
σ
1
2
3
4
1
2
3
4
...
=N
...
σ∪ =N
1
2
3
4
Abbildung 3.6: Darstellung von Relationen durch Graphen.
Manchmal ist es hilfreich, eine Relation auf einer Menge A durch einen
Graphen darzustellen. Man zeichnet hierbei die Elemente von A als Knoten (Punkte) und für alle Paare (a, b) ∈ A zeichnet man einen Pfeil von a
nach b. Ein paar Beispiele sind hierzu in Bild 3.6 dargestellt.
Da An = An−1 ×A ist jede Teilmenge von An eine Relation R ⊆ An−1 ×A.
Solch eine Relation wird auch n-stellige Relation auf A genannt. In Erweiterung dieser Sprechweise nennt man Teilmengen von A auch einstellige Relationen auf A.
3.2
Zerlegungen
Bevor’s mit Relationen weitergeht, beschäftigen wir uns mit dem Begriff der
Zerlegung einer Menge. Eine Menge zu zerlegen heißt anschaulich, ihre Elemente in Gruppen einzuteilen, aus jeder Gruppe eine Menge zu bilden und
die entstehenden Mengen wieder zu einer Menge zusammenzufassen. Aus
einer Zerlegung einer Menge A kann man unmittelbar eine Relation auf A
ableiten, indem man definiert dass genau die Elemente einer Gruppe zueinander in Relation stehen sollen. Relationen dieser Bauart haben ganz spezielle
Eigenschaften und heißen Äquivalenzrelationen.
Zerlegungen trifft man im Alltag immer dann an, wenn eine Menge in
Gruppen aufgeteilt wird:
Beispiel 3.13
Die Menge der Menschen lässt sich zerlegen in Männer
und Frauen. Ist A die Menge aller Menschen, K1 die Menge der Männer
und K2 die Menge der Frauen, so ist
Z = {K1 , K2 }
eine Zerlegung von A.
Logik und Künstliche Intelligenz
V. Stahl
A
Seite 39
A
2
1
4
3
4
1
5
2
3
5
Abbildung 3.7: Zerlegung der Menge {1, 2, 3, 4, 5}, siehe Beispiel 3.16.
Beispiel 3.14
Eine andere Zerlegung der Menge aller Menschen erhält
man z.B., wenn man sie in Kinder, Jugendliche und Erwachsene einteilt.
Sei wieder A die Menge aller Menschen, K1 die Menge der Kinder (012 Jahre), K2 die Menge der Jugendlichen (13-17 Jahre) und K3 die
Menge der Erwachsenen (älter als 18 Jahre). Dann ist
Z = {K1 , K2 , K3 }
ebenfalls eine Zerlegung von A.
Beispiel 3.15
Die Menge Q der rationalen Zahlen kann man zerlegen in
positive, negative und Null. Sei
Q+ = {x | x ∈ Q ∧ x > 0},
Q− = {x | x ∈ Q ∧ x < 0}.
Dann ist
eine Zerlegung von Q.
Beispiel 3.16
Z = {Q+ , Q− , {0}}
Sei A = {1, 2, 3, 4, 5}. Dann ist
Z = {1, 2}, {3}, {4, 5}
eine Zerlegung von A. Eine andere Zerlegung ist z.B.
Z = {1, 4}, {2, 3, 5}
siehe Bild 3.7.
Wie das letzte Beispiel zeigt, kann man sich eine Zerlegung einer Menge so
vorstellen, dass Trennwände in die Menge eingezogen werden. Eine Zerlegung Z einer Menge A ist somit eine Menge von Teilmengen von A. Diese
Teilmengen nennt man auch Klassen der Zerlegung. Wie aus den vorigen
Beispielen ersichtlich, liegt jedes Element von A in genau einer Klasse. Um’s
V. Stahl
Logik und Künstliche Intelligenz
Seite 40
nicht unnötig kompliziert zu machen, legt man dabei fest, dass keine Klasse
leer sein soll. Und hier das Ganze nochmal richtig exakt:
Definition 3.17 (Zerlegung)
Eine Menge von Mengen Z heißt Zerlegung von A wenn
• Jede Menge K ∈ Z ist eine nichtleere Teilmenge von A.
∀K K ∈ Z → (K ⊆ A ∧ K 6= ∅).
• Die Elemente von Z sind paarweise disjunkt.
∀K ∀K ′ (K ∈ Z ∧ K ′ ∈ Z) → (K = K ′ ∨ K ∩ K ′ = ∅).
• Jedes Element von A ist in einer Menge K ∈ Z.
∀a a ∈ A → (∃K K ∈ Z ∧ a ∈ K).
Je nachdem ob Z endlich oder unendlich ist, spricht man von einer
endlichen oder unendlichen Zerlegung von A.
Wenn man die Definition einer Zerlegung umgangssprachlich formuliert, erhält
man folgende Merkregel:
Merkregel 3.18
Eine Menge Z von nichtleeren Teilmengen von A heißt Zerlegung
von A wenn jedes Element von A in genau einer Menge K ∈ Z ist.
Beispiel 3.19
Die feinste Zerlegung einer Menge A erhält man, wenn
man jedes Element von A in eine separate Klasse sperrt. Für
A = {1, 2, 3, 4, 5}
ist die feinste Zerlegung
Z = {1}, {2}, {3}, {4}, {5} .
Die feinste Zerlegung von N ist
Z = {1}, {2}, {3}, . . . .
Vorsicht: Z 6= N, die Elemente von Z sind Mengen, die Elemente von
N sind Zahlen!
Logik und Künstliche Intelligenz
V. Stahl
Seite 41
Beispiel 3.20
Der andere Extremfall einer Zerlegung ist die gröbste Zerlegung. Hierbei packt man alle Elemente von A in eine einzige, große
Klasse. Für
A = {1, 2, 3, 4, 5}
ist die gröbste Zerlegung
Z = {1, 2, 3, 4, 5}
= {A}.
Die gröbste Zerlegung von N ist
Z = {1, 2, 3, . . .}
= {N}.
Vorsicht: Z 6= N, die Menge Z enthält nur ein einziges Element während
N unendlich groß ist!
Beispiel 3.21
Sei ≡3 die aus Beispiel 3.9 bekannte Relation
≡3 = {(a, b) | a ∈ N0 , b ∈ N0 , a − b ist durch 3 teilbar }
Unter Verwendung dieser Relation kann man die Menge N0 in drei
Klassen zerlegen:
K1 = {x ∈ N0 | x ≡3 0} = {0, 3, 6, 9, . . .}
K2 = {x ∈ N0 | x ≡3 1} = {1, 4, 7, 10, . . .}
K3 = {x ∈ N0 | x ≡3 2} = {2, 5, 8, 11, . . .}
Wie man anhand von Definition 3.17 nachprüfen kann, ist somit
Z = {K1 , K2 , K3 }
eine Zerlegung von N0 .
3.3
Äquivalenzrelationen und erste Beweistechniken
Hat man eine Zerlegung Z einer Menge A, dann kann man mit wenigen
Handgriffen hieraus eine Relation auf A konstruieren: Man legt einfach fest,
dass genau die Elemente von A zueinander in Relation stehen sollen, die
in der selben Klasse von Z sind. In Anlehnung an Z bezeichnet man die
entstehende Relation mit Äquivalenz bzgl. Z und bezeichnet sie mit ≡Z .
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 3.22
Seite 42
Eine Zerlegung von A = {1, 2, 3, 4, 5} ist z.B.
Z = {1, 2}, {3}, {4, 5} .
Somit stehen 1 und 2 in Relation aber nicht 1 und 3. Es gilt also z.B.
1 ≡Z 2, 2 ≡Z 1, 1 ≡Z 1, 3 ≡Z 3, 4 ≡Z 5, . . .
und
1 6≡Z 3, 2 6≡Z 3, 3 6≡Z 1, . . .
Als Menge geschrieben sieht ≡Z so aus:
≡Z = {(1, 1), (1, 2), (2, 1), (2, 2), (3, 3), (4, 4), (4, 5), (5, 4), (5, 5)}
Definition 3.23 (Äquivalenz bzgl. einer Zerlegung)
Sei Z eine Zerlegung von A. Dann ist die Relation
≡Z ⊆ A × A
definiert durch
a ≡Z b
genau dann wenn
a und b in der selben Klasse von Z sind.
Formal ausgedrückt liest sich das so:
≡Z = {(a, b) | ∃K K ∈ Z ∧ a ∈ K ∧ b ∈ K}.
Bemerkung. Ist Z = {K1 , K2 , K3 , . . .} eine Zerlegung von A, dann lässt
sich die Äquivalenzrelation ≡Z auch definieren durch
≡Z = (K1 × K1 ) ∪ (K2 × K2 ) ∪ (K3 × K3 ) ∪ . . .
Beispiel 3.24
Die Menge Q lässt sich zerlegen in die Menge der positiven
und negativen rationalen Zahlen und {0}, d.h.
Z = Q+ , Q− , {0} .
Für die zugehörige Äquivalenz bzgl. Z gilt somit, dass alle positiven
Zahlen miteinander in Relation stehen, alle negativen und Null nur mit
sich sebst, z.B.
3 ≡Z 5, −1 ≡Z −3, 0 ≡Z 0, 2 ≡Z 2, . . .
Logik und Künstliche Intelligenz
V. Stahl
Seite 43
und
2 6≡Z −3 − 1 6≡Z 4, 0 6≡Z 5, −3 6≡Z 0, . . .
Man kann also sagen dass für alle a, b ∈ Q gilt a ≡Z b genau dann wenn
a und b das gleiche Vorzeichen haben.
Schauen wir uns an, welche Relation herauskommt wenn man von der feinsten
bzw. gröbsten Zerlegung einer Menge ausgeht:
Sei A = {1, 2, 3}. Die feinste Zerlegung von A ist
Z = {1}, {2}, {3} .
Beispiel 3.25
Somit steht jedes Element von A nur mit sich selbst in Relation ≡Z ,
d.h.
1 ≡Z 1, 2 ≡Z 2, 3 ≡Z 3
und sonst nichts:
≡Z = {(1, 1), (2, 2), (3, 3)}.
Diese Relation ist nichts anderes als die Gleichheitsrelation auf A.
Sei wieder A = {1, 2, 3}. Die gröbste Zerlegung von A ist
Z = {1, 2, 3} .
Beispiel 3.26
Somit steht jedes Element von A mit jedem in Relation ≡Z , d.h.
1 ≡Z 1, 1 ≡Z 2, 1 ≡Z 3, 2 ≡Z 1, 2 ≡Z 2, . . .
und somit ist
≡Z = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}
Diese Relation ist nichts anderes als das kartesische Produkt von A mit
sich selbst, d.h.
≡Z = A × A.
Merkregel 3.27
Für jede Menge A gilt:
• Ist Z die feinste Zerlegung von A, dann ist ≡Z die Gleichheitsrelation auf A, d.h. jedes Element von A steht nur zu sich selbst
in Relation ≡Z .
• Ist Z die gröbste Zerlegung von A, dann ist ≡Z = A × A, d.h.
jedes Element von A steht zu jedem Element von A in Relation
≡Z .
V. Stahl
Logik und Künstliche Intelligenz
Seite 44
Egal was für eine Zerlegung Z einer Menge A man anschaut, die die resultierende Relation ≡Z hat immer ein paar elementare Eigenschaften:
• Jedes Element von A ist natürlich in der selben Klasse wie es selbst,
daher ist
a ≡Z a für alle a ∈ A
bzw.
∀a a ∈ A → a ≡Z a.
Eine Relation, die diese Eigenschaft hat, heißt reflexiv auf A.
• Ist a in der selben Klasse wie b, dann ist natürlich auch b in der selben
Klasse wie a. Somit gilt
wenn a ≡Z b dann b ≡Z a
bzw.
∀a ∀b a ≡Z b → b ≡Z a.
Eine Relation, die diese Eigenschaft hat, heißt symmetrisch.
• Ist a in der selben Klasse wie b und b in der selben Klasse wie c, dann
ist natürlich auch a in der selbe Klasse wie c. Somit gilt
wenn a ≡Z b und b ≡Z c dann a ≡Z c
bzw.
∀a ∀b ∀c (a ≡Z b ∧ b ≡Z c) → a ≡Z c.
Eine Relation, die diese Eigenschaft hat, heißt transitiv.
Relationen auf einer Menge A, die alle drei Eigenschaften besutzen, heißen
Äquivalenzrelationen auf A.
Ist Z eine Zerlegung von A, so ist ≡Z eine Äquivalenzrelation auf A
und hat somit sehr ähnliche Eigenschaften wie die Gleichheit. Anstatt zu
fordern, dass zwei Elemente von A gleich sind, stellt man die schwächere
Forderung, dass sie in der selben Klasse sind. Dies ist ein Prozess, den man
in der wirklichen Welt sehr oft beobachtet und der u.a. die Grundlage aller
Vorurteile ist. Sagt man z.B. “das erste Semester ist faul”, so ist diese Aussage
zunächst einmal unsinnig, denn ein Semester ist eine Menge von Studenten
und eine Menge kann weder die Eigenschaft faul oder fleißig besitzen. Was
ist hier geschehen? Zunächst hat man die Menge A der Studenten in eine
Menge Z von Semestern zerlegt. Dann hat man die Gleichheit auf der Menge
Logik und Künstliche Intelligenz
V. Stahl
Seite 45
der Studenten =A durch ≡Z ersetzt. Jeder Student ist nur gleich sich selbst,
d.h. wenn a und b unterschiedliche Studenten sind, gilt
a 6=A b.
Sind sie jedoch im selben Semester, gilt
a ≡Z b.
Ersetzt man nun (in unzulässiger Weise) =A durch ≡Z , sind plötzlich alle
Studenten eines Semesters gleich und lassen sich bequem über einen Kamm
scheren. Wenn Sie also wieder einmal Opfer eines solchen Vorurteils werden,
wissen Sie nun wie man sich dagegen wehrt.
Äquivalenzrelationen führen jedoch nicht nur zu sozialem Unfrieden sondern haben auch ein paar durchaus nützliche Anwendungen: Wenn man z.B.
ein sehr komplexes Problem lösen muss, ist man oft gezwungen, dies zunächst
zu vereinfachen indem man von Details abstrahiert. So können z.B. zwei Dinge “im Prinzip” gleich sein bis auf ein paar “unwichtige” Details. Diese Art
der “im Prinzip Gleichheit” lässt sich mathematisch durch Äquivalenzrelationen beschreiben. Ersetzt man die exakte Gleichheit durch eine geeignete
Äquivalenzrelation, bedeutet das nichts anderes als dass man die unwichtigen
Details unter den Tisch fallen lässt und dadurch die “im Prinzip” gleichen
Dinge tatsächlich gleich (äquivalent) setzt. Die wesentlichen Eigenschaften,
die man beim täglichen Umgang mit der Gleichheit ganz selbstverständlich
voraussetzt, gelten bei Äquivalenzrelationen auch. Diese Eigenschaften heißen Reflexivität, Symmetrie und Transitivität und werden nun noch einmal
genauer untersucht. Im Folgenden sei A eine Menge und R ⊆ A × A eine
Relation auf A.
Definition 3.28 (Reflexiv)
Eine Relation R heißt reflexiv auf einer Menge A, genau dann wenn
für alle x ∈ A gilt xRx, d.h.
∀x x ∈ A → xRx.
Beispiel 3.29
• ≤N ist reflexiv auf N, da für jedes x ∈ N gilt x ≤N x. Andererseits ist aber ≤N nicht reflexiv auf Z, da z.B. −1 ∈ Z aber
(−2, −2) 6∈≤N .
• ≤Z ist reflexiv auf Z aber nicht reflexiv auf R.
Logik und Künstliche Intelligenz
V. Stahl
Seite 46
• ≡3 ist reflexiv auf N0 .
• Die in Bild 3.4 links dargestellte Relation ist reflexiv auf R.
• Die Relation <N ist nicht reflexiv auf N, da z.B 3 ∈ N aber 3 6< 3.
• σ ist nicht reflexiv auf N.
• Die in Bild 3.4 rechts und die in Bild 3.5 dargestellten Relationen
sind nicht reflexiv auf R.
• Die Relation R = {(2, 2)} ist nicht reflexiv auf N, da z.B. 3 ∈ N
aber (3, 3) 6∈ R. Andererseits ist aber R reflexiv auf {2}, da für
alle x ∈ {2} gilt xRx.
Stellt man eine Relation wie in Bild 3.6 durch einen Graph dar, kann man
sofort ablesen ob sie reflexiv auf A ist. Dies ist genau dann der Fall, wenn
jeder Knoten aus A einen Pfeil auf sich selbst hat.
Bemerkung. Wenn eine Relation R gegeben ist, so geht aus dem Kontext
häufig auch eine Menge A hervor, wobei R Relation auf A ist. Sagt man
in diesem Fall, dass R eine reflexive Relation ist, meint man genau
genommen, dass R eine reflexive Relation auf A ist. Man liest z.B.
häufig dass ≤N reflexiv ist und meint damit, dass ≤N reflexiv auf N ist.
Natürlich ist ≤N nicht reflexiv auf Z, da z.B. (−1, −1) 6∈≤N .
Wie entscheidet man von einer gegebenen Relation R ob sie reflexiv auf einer
Menge A ist?
• Zunächst sucht man sich ein paar Beispiele a ∈ A und prüft, ob aRa
für alle Beispiele a. Findet man ein Beispiel, wo aRa nicht gilt, so ist
R nicht reflexiv auf A. Bei der Wahl der Beispiele sollte man darauf
achten, dass die Menge A hierdurch gut repräsentiert ist. Ist z.B. A =
Z sollte man sowohl positive als auch negative Zahlen prüfen. Auch
Spezialfälle wie z.B. 0 und besonders große oder kleine Zahlen sollten
unter den Beispielen sein.
• Wenn für alle Beispiele a gilt aRa, so besteht der Verdacht, dass R
reflexiv auf A ist. Je mehr Beispiele geprüft wurden, desto begründeter ist dieser Verdacht. Ganz sicher kann man sich dabei aber nicht
sein, außer wenn A endlich ist und die Beispielmenge ganz A umfaßt.
Andernfalls geht man wie folgt vor:
– Zu zeigen:
∀a a ∈ A → aRa.
Logik und Künstliche Intelligenz
V. Stahl
Seite 47
– Die zu beweisende Formel beginnt mit einem Allquantor. Einen
Allquantor kann man immer durch eine kleine Zauberformel loswerden und zwar:
Sei a beliebig aber fest gewählt. Zu zeigen:
a ∈ A → aRa.
Was hier geschehen ist, ist dass aus der Variablen a eine Konstante
wurde, d.h. a bezeichnet ab sofort ein konkretes Objekt, auf das
man im weiteren Verlauf des Beweises Bezug nehmen darf.
– Die zu beweisende Formel ist vom Typ . . . → . . ., d.h. eine wenn
– dann Aussage. Der Trick wie man mit solchen Formeln umgeht
ist, anzunehmen dass der wenn–Teil erfüllt ist. Zu zeigen ist dann
nur noch der dann–Teil:
Gegeben: a ∈ A
zu zeigen: aRa.
– Noch weiter lässt sich die Formel allgemein nicht vereinfachen.
Jetzt muss man konkret hinschauen wie die Relation R definiert
ist. Man setzt also die Definition von R in die Formel ein. Wie’s
ab hier weitergeht hängt von R ab.
Beispiel 3.30
Gegeben ist die Relation
R = {(a, b) | a ∈ R, b ∈ R, |a| = |b|}.
Es soll untersucht werden ob R reflexiv auf R ist.
• Beispiele: (2, 2) ∈ R, (−100, −100) ∈ R, (0, 0) ∈ R, . . . . Da kein
Gegenbeispiel gefunden wurde, lastet auf R der Verdacht reflexiv
auf R zu sein.
• Nun zum Beweis:
–
–
–
–
Zu zeigen: ∀a a ∈ R → aRa.
Sei a beliebig aber fest. Zu zeigen: a ∈ R → aRa.
Gegeben: a ∈ R. Zu zeigen: aRa.
Einsetzen der Definition von R. Zu zeigen: a ∈ R und |a| = |a|.
Dass a ∈ R ist, folgt aus der Annahme im vorigen Schritt, dass
|a| = |a| ist offensichtlich.
An der graphischen Darstellung einer Relation auf R kann man sofort sehen,
ob sie reflexiv auf R ist. Dies ist nämlich genau dann der Fall, wenn die
Hauptdiagonale komplett eingezeichnet ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 48
Definition 3.31 (Symmetrisch)
Eine Relation R heißt symmetrisch, wenn für all a, b, für die aRb
gilt, auch bRa gilt:
∀a ∀b aRb → bRa.
Beispiel 3.32
• Die Relation ≡3 ist symmetrisch: Wenn a − b durch 3 teilbar ist,
dann auch b − a.
• Die in Bild 3.4 links und in Bild 3.5 dargestellten Relationen sind
ebenfalls symmetrisch.
• Die Relationen ≤N , <N , ≤Z und σ hingegen sind nicht symmetrisch.
• Auch die in Bild 3.4 rechts dargestellte Relation ist nicht symmetrisch.
Stellt man eine Relation wie in Bild 3.6 durch einen Graph dar, kann man
sofort ablesen ob sie symmetrisch ist. Dies ist genau dann der Fall, wenn zu
jedem Pfeil auch der umgekehrte Pfeil vorhanden ist, siehe Bild 3.8.
Abbildung 3.8: Graph Darstellung einer symmetrischen Relation.
Wie entscheidet man von einer gegebene Relation ob sie symmetrisch ist?
• Wieder sucht man sich zunächst ein paar Beispiele a, b ∈ A für die aRb
gilt. Wenn für eines dieser Beispiele bRa nicht gilt, so ist R nicht symmetrisch. Bei der Wahl der Beispiele sollte man wieder darauf achten,
dass die Menge A gut repräsentiert ist. Dazu kann man so vorgehen,
dass man zunächst repräsentative Elemente a ∈ A wählt und dann passende b sucht so dass aRb. Gilt für alle Beispiele auch bRa, so besteht
der Verdacht, dass R symmetrisch ist.
• Der Beweis, dass tatsächlich R symmetrisch ist, läuft nach dem selben
Muster wie im Fall der Reflexivität:
Logik und Künstliche Intelligenz
V. Stahl
Seite 49
– Zu zeigen:
∀a ∀b aRb → bRa.
– Elimination der Allquantoren:
Sei a und b beliebig aber fest gewählt. Zu zeigen:
aRb → bRa.
– Es liegt wieder eine wenn–dann Formel vor. Man nimmt an, dass
der wenn–Teil erfüllt ist und muss dann nur noch den dann–Teil
zeigen.
Gegeben: aRb
zu Zeigen: bRa.
– Eine weitere Vereinfachung der zu beweisenden Formel ist nicht
möglich. Man muss daher an dieser Stelle die Definition von R einsetzen. Hierbei können wiederum Quantoren und logische Symbole
auftreten, die man nach dem selben Prinzip abarbeiten muss.
Beispiel 3.33
Gegeben ist die kleiner gleich Relation ≤N auf N. Es soll
untersucht werden, ob diese symmetrisch ist. Es ist leicht, ein Gegenbeispiel zu finden. So ist z.B. 2 ≤N 3 aber andererseits 3 6≤N 2. Somit
ist ≤N nicht symmetrisch.
Beispiel 3.34
Gegeben ist die Relation
R = {(a, b) | a ∈ R, b ∈ R,
√
a2 + b2 ≤ 2}.
Es soll untersucht werden, ob R symmetrisch ist.
• Zunächst ein paar Beispiele:
p
√
– 1R − 1, da (1)2 + (−1)2 = 2 ≤ 2. Andererseits ist aber
auch −1R1.
p
√
– 0R2, da (0)2 + (2)2 = 4 ≤ 2. Andererseits ist aber auch
2R0.
– ...
• Nachdem kein Gegenbeispiel gefunden wurde, entsteht der Verdacht dass R symmetrisch ist. Um die letzten Zweifler zu überzeugen hier der Beweis nach dem oben beschriebenen Schema:
– Zu zeigen: ∀a ∀b aRb → bRa.
– Sei a und b beliebig aber fest gewählt. Zu zeigen: aRb → bRa.
Logik und Künstliche Intelligenz
V. Stahl
Seite 50
– Gegeben: aRb. Zu zeigen: bRa.
– Einsetzen der Definition√von R.
Gegeben: a ∈ R, b ∈ R, √a2 + b2 ≤ 2.
zu zeigen: b ∈ R, a ∈ R, b2 + a2 ≤ 2.
Da
b2 + a2 = a2 + b2
folgt
√
b2 + a2 =
√
a2 + b2 .
Unter Verwendung der Annahme
√
a2 + b2 ≤ 2
erhält man somit
√
b2 + a2 ≤ 2.
An der graphischen Darstellung einer Relation auf z.B. N, Z, Q oder R kann
man sofort sehen, ob sie symmetrisch ist. Dies ist nämlich genau dann der
Fall, wenn alle eingezeichneten Punkte spiegelbildlich zur Hauptdiagonalen
liegen.
Definition 3.35 (Transitiv)
Eine Relation R heißt transitiv, wenn für alle a, b, c für die aRb und
bRc gilt auch aRc gilt:
∀a ∀b ∀c (aRb ∧ bRc) → aRc.
Beispiel 3.36
• Die Relationen ≤N , <N , ≤Z und ≡3 sind transitiv.
• Die in Bild 3.4 links dargestellte Relation ist ebenfalls transitiv.
• Die Relation σ hingegen ist nicht transitiv, da z.B 2σ3 und 3σ4
aber nicht 2σ4.
• Auch die in Bild 3.4 rechts und in Bild 3.5 dargestellten Relationen
sind nicht transitiv. So liegen z.B. die Punkte (2, 0) und (0, 2) auf
dem Kreis, nicht aber (2, 2).
Stellt man eine Relation wie in Bild 3.6 durch einen Graph dar, kann man
leicht ablesen ob sie transitiv ist. Dies ist genau dann der Fall, wenn alle
“Abkürzungen” eingezeichnet sind. Kommt man im Graph von einem Punkt
Logik und Künstliche Intelligenz
V. Stahl
Seite 51
Abbildung 3.9: Graph Darstellung einer transitiven Relation.
a über eine Zwischenstation b zu c, dann muss auch der direkte Pfeil von a
nach c vorhanden sein. Im Eisenbahnerjargon nennt man das Transitstrecke.
Die Relation in Bild 3.9 ist somit transitiv.
Auf die Gefahr hin, dass es langweilig wird: Wie entscheidet man von einer
gegebenen Relation R ob sie transitiv ist?
• Wieder sucht man sich zunächst ein paar Beispiele a, b, c ∈ A, für die
aRb und bRc gilt. Wenn für eines dieser Beispiele aRc nicht gilt, so ist
R nicht transitiv.
• Gilt für alle Beispiele auch aRc, so müssen wir R der Transitivität
bezichtigen. Um Gewissheit zu bekommen, hilft nur ein Beweis:
– Zu zeigen:
∀a ∀b ∀c (aRb ∧ bRc) → aRc.
– Elimination der Allquantoren:
Sei a, b, c beliebig aber fest. Zu zeigen:
(aRb ∧ bRc) → aRc.
– Es liegt wieder eine wenn–dann Formel vor, die nach bewährter
Methode verarbeitet wird:
Gegeben: aRb ∧ bRc
Zu zeigen: aRc.
– Das ∧ Symbol in der Annahme kann man noch eliminieren:
Gegeben: aRb und bRc.
– Hier ist wieder der Punkt erreicht, wo der weitere Weg von R
abhängt. Man muss also nun die Definition von R in die Formeln
einsetzen.
Beispiel 3.37
Gegeben ist die Relation
≡3 = {(a, b) | a ∈ N0 , n ∈ N0 , a − b ist durch 3 teilbar }.
Es soll untersucht werden, ob ≡3 transitiv ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 52
• Man sucht zunächst ein paar Beispiele a, b, c ∈ N0 , für die a ≡3 b
und b ≡3 c gilt. Dann prüft man nach, ob auch a ≡3 c. Also z.B.
– a = 1, b = 7, c = 4: 1 ≡3 7, 7 ≡3 4. Tatsächlich gilt auch
1 ≡3 4.
– a = 9, b = 0, c = 3: 9 ≡3 0, 0 ≡3 9. Tatsächlich gilt auch
9 ≡3 9.
– ...
• Pech — wir haben kein Gegenbeispiel gefunden, also . . .
– Zu zeigen: ∀a ∀b ∀c (a ≡3 b ∧ b ≡3 c) → aRc.
– Sei a, b, c beliebig aber fest. Zu zeigen: (a ≡3 b ∧ b ≡3 c) →
a ≡3 c.
– Gegeben: a ≡3 b, b ≡3 c. Zu zeigen a ≡3 c.
– Einsetzen der Definition von ≡3 : Gegeben:
a − b und b − c sind durch 3 teilbar.
Zu zeigen:
a − c ist durch 3 teilbar
Da
a − c = (a − b) + (b − c),
a − b und b − c laut Annahme durch 3 teilbar sind und die
Summe zweier durch 3 teilbarer Zahlen wieder durch 3 teilbar
ist, folgt dass a − c durch 3 teilbar ist.
Die Entscheidung ob eine Relation transitiv ist, ist i.a. schwieriger als die
Entscheidung von Symmetrie oder Reflexivität. Einerseits ist es oft nicht so
einfach Beispiele zu finden für die aRb und bRc ist, andererseits lässt sich die
Transitivität im Bild auch nicht unmittelbar ablesen. Oft gibt einem aber ein
mißlungener Beweisversuch einen Hinweis auf ein Gegenbeispiel.
Relationen, die reflexiv, symmetrisch und transitiv sind, verdienen einen
besonderen Namen.
Definition 3.38 (Äquivalenzrelation)
R heißt Äquivalenzrelation auf einer Menge A wenn R ⊆ A × A
und R reflexiv auf A, symmetrisch und transitiv ist.
Beispiel 3.39
Logik und Künstliche Intelligenz
V. Stahl
Seite 53
• ≡3 ist eine Äquivalenzrelation auf N0 .
• Die in Bild 3.4 links dargestellte Relation ist eine Äquivalenzrelation auf der Menge R.
• ≤N ist keine Äquivalenzrelation auf N0 .
• ≤Z ist keine Äquivalenzrelation auf Z.
• <N ist keine Äquivalenzrelation auf N.
• σ ist keine Äquivalenzrelation auf N.
• Die in Bild 3.4 rechts und in Bild 3.5 dargestellten Relationen sind
keine Äquivalenzrelationen auf R.
Es ist sehr einfach, eine Äquivalenzrelation auf einer Menge A zu konstruieren: Alles was man dazu braucht ist eine Zerlegung Z von A. Wie bereits
auf Seite 44 gezeigt, ist dann die Äquivalenz ≡Z bzgl. Z eine Äquivalenzrelation auf A. Durch Zerlegungen bekommt man also einen ganz simplen Typ
von Äquivalenzrelationen. Gibt es auch noch andere Äquivalenzrelationen,
die nicht einer Zerlegung entspringen? Nein. Man kann nicht nur aus jeder
Zerlegung eine Äquivalenzrelation machen sondern auch umgekehrt aus jeder Äquivalenzrelation auf die zugrundeliegende Zerlegung zurückschließen.
Es besteht also ein eins zu eins Zusammenhang zwischen Äquivalenzrelationen und Zerlegungen — ob man also etwas als Äquivalenzrelation oder als
Zerlegung verkauft kriegt ist egal, es ist beides im Prinzip genau das Selbe.
Beispiel 3.40
Schauen wir uns die Äquivalenzrelation ≡3 genauer an
und betrachten dazu die Mengen
K0
K1
K2
K3
K4
..
.
=
=
=
=
=
{x
{x
{x
{x
{x
|
|
|
|
|
x ≡3
x ≡3
x ≡3
x ≡3
x ≡3
0}
1}
2}
3}
4}
=
=
=
=
=
{0, 3, 6, 9, . . .}
{1, 4, 7, 10, . . .}
{2, 5, 8, 11, . . .}
{0, 3, 6, 9, . . .} = K0
{1, 4, 7, 10, . . .} = K1
Packt man diese Mengen zusammen, erhält man eine Zerlegung von
N0 :
Z = {K0 , K1 , K2 , K3 , K4 , . . .}
= {K0 , K1 , K2 }.
Logik und Künstliche Intelligenz
V. Stahl
Seite 54
Die Mengen Ki heißen Äquivalenzklassen der Äquivalenzrelation ≡3 .
Da immer wieder die selben Mengen entstehen, hat ≡3 nur 3 Äquivalenzklassen.
Definition 3.41 (Äquivalenzklasse)
Ist R eine Äquivalenzrelation auf A und a ∈ A, dann heißt die
Menge
Ka = {x | xRa}
Äquivalenzklasse von a der Äquivalenzrelation R.
Allgemein gilt, dass die Äquivalenzklassen einer Äquivalenzrelation auf A
eine Zerlegung von A bilden.
Theorem 3.42 (Zerlegung in Äquivalenzklassen)
Ist R eine Äquivalenzrelation auf einer Menge A, so ist für jedes
a∈A
Ka = {x | xRa}
eine Äquivalenzklasse von R und
Z = {Ka | a ∈ A}
eine Zerlegung von A.
Der Beweis ist etwas länger, illustriert aber hoffentlich wie man die zuvor
gelernten Techniken in einem etwas größeren Rahmen anwenden kann.
Beweis. Sei R eine Äquivalenzrelation auf A und für alle a ∈ A
Ka = {x ∈ A | xRa}.
Sei weiterhin
Z = {Ka | a ∈ A}.
Zu zeigen: Z ist eine Zerlegung von A. Zuerst setzt man die Definition
des Begriffs Zerlegung ein (siehe Definition 3.17). Demnach sind drei
Dinge zu zeigen:
• Jede Menge K ∈ Z ist eine nichtleere Teilmenge von A.
∀K K ∈ Z → (K ⊆ A ∧ K 6= ∅).
V. Stahl
Logik und Künstliche Intelligenz
Seite 55
Elimination des Allquantors: Sei K beliebig aber fest. Auflösen
der wenn–dann Aussage: Gegeben K ∈ Z, d.h. es gibt ein a ∈ A
so dass K = Ka . Zu zeigen
Ka ⊆ A ∧ Ka 6= ∅.
Dass Ka ⊆ A folgt direkt aus der Definition von Ka . Da R reflexiv
ist, ist a ∈ Ka und somit Ka 6= ∅.
• Die Elemente von Z sind paarweise disjunkt.
∀K ∀K ′ (K ∈ Z ∧ K ′ ∈ Z) → (K = K ′ ∨ K ∩ K ′ = ∅).
Elimination der Allquantoren: Seien K und K ′ beliebig aber fest.
Auflösen der wenn–dann Aussage: Gegeben K ∈ Z und K ′ ∈ Z.
Nach Einsetzen der Definition von Z erhält man: Es gibt a, b ∈ A
so dass K = Ka und K ′ = Kb . Zu zeigen:
Ka = Kb ∨ Ka ∩ Kb = ∅.
Diese Aussage ist äquivalent zu der wenn–dann Aussage
Ka ∩ Kb 6= ∅ → Ka = Kb .
Gegeben Ka ∩ Kb 6= ∅, zu zeigen Ka = Kb . Aus der Annahme
folgt, dass es ein c geben muss mit c ∈ Ka ∩ Kb . Setzt man die
Definition von Ka und Kb ein, erhält man cRa und cRb. Zu zeigen ist Ka = Kb . Einsetzen der Definition der Mengengleichheit
(Definition 2.14) führt auf Ka ⊆ Kb und Kb ⊆ Ka . Wir zeigen
Ka ⊆ Kb , der Beweis von Kb ⊆ Ka ist analog. Einsetzen der
Teilmengendefinition (Definition 2.10) führt auf
∀x x ∈ Ka → x ∈ Kb .
Einsetzen der Definition von Ka und Kb führt auf
∀x xRa → xRb.
Sei x beliebig aber fest. Gegeben xRa, zu zeigen xRb. Aus der
Annahme cRa und der Symmetrie von R erhält man aRc. Transitivität von R liefert xRc. Nochmal Transitivität und die Annahme
cRb liefert xRb.
Logik und Künstliche Intelligenz
V. Stahl
Seite 56
• Jedes Element von A ist in einer Menge K ∈ Z.
∀a a ∈ A → (∃K K ∈ Z ∧ a ∈ K).
Sei a beliebig aber fest. Gegeben a ∈ A, zu zeigen
∃K K ∈ Z ∧ a ∈ K.
Wähle K = Ka . Damit ist K ∈ Z und da R reflexiv ist, folgt aRa
und laut Definition von Ka ist somit a ∈ K.
Jede Äquivalenzrelation R auf A liefert also eine Zerlegung von A in Äquivalenzklassen von R. Wenn man versucht, sich eine Äquivalenzrelation vorzustellen, ist es oft hilfreich, sich die entsprechende Zerlegung in Äquivalenzklassen anzuschauen.
Merkregel 3.43
Äquivalenzrelationen und Zerlegungen sind das selbe. Das eine lässt
sich exakt durch das andere beschreiben.
Beispiel 3.44
tionen
Auf jeder Menge A gibt es zwei extreme Äquivalenzrela-
• Die Gleichheit auf A
=A = {(a, a) | a ∈ A}.
Hier steht jedes Element nur mit sich selbst in Relation. Die Äquivalenzklassen sind somit einelementige Mengen
Ka = {x | x =A a}
= {a}
für jedes a ∈ A. Die zugehörige Zerlegung
Z = {Ka | a ∈ A}
= {a} | a ∈ A
ist die feinste Zerlegung von A.
• Die Relation
A × A = {(a, b) | a ∈ A, b ∈ A}.
V. Stahl
Logik und Künstliche Intelligenz
Seite 57
Hier steht jedes Element mit jedem in Relation. Diese Relation
hat genau eine Äquivalenzklasse. Für jedes a ∈ A ist
Ka = {x | (x, a) ∈ A × A}
= A.
Die zugehörige Zerlegung ist somit
Z = {Ka | a ∈ A}
= {A},
d.h. die gröbste Zerlegung von A.
Die Elemente einer Äquivalenzklasse werden auch Repräsentanten der Äquivalenzklasse genannt.
Definition 3.45 (Repräsentantensystem)
Sei R eine Äquivalenzrelation auf A. Eine Menge S ⊆ A heißt
Repräsentantensystem von R wenn S genau ein Element aus jeder
Äquivalenzklasse von R enthält.
Beispiel 3.46
Ein Repräsentantensystem von ≡3 ist z.B. {0, 1, 2}. Ein
anderes Repräsentantensystem ist {0, 4, 8}.
Beispiel 3.47
Die Quersumme einer natürlichen Zahl ist die Summe aller Ziffern der Zahl in Dezimaldarstellung. So ergibt sich z.B. die Quersumme von 598 als 5 + 9 + 8 = 22. Die Relation ∼ ⊆ N × N sei definiert
durch
∼ = {(a, b) | a ∈ N, b ∈ N, a und b haben die selbe Quersumme}
Wie man leicht prüft, ist ∼ eine Äquivalenzrelation mit unendlich vielen
Äquivalenzklassen:
K1 = {1, 10, 100, 1000, . . .}
K2 = {2, 11, 20, 110, 200, 1100, 2000, . . .}
K3 = {3, 12, 21, 30, 111, 102, 120, 210, 300, . . .}
..
.
Ein Repräsentantensystem von ∼ erhält man wenn man aus jeder Äquivalenzklasse genau ein Element nimmt (z.B. das kleinste):
{1, 2, 3, . . . , 9, 19, 29, 39, . . . , 99, 199, 299, 399, . . .}
V. Stahl
Logik und Künstliche Intelligenz
Seite 58
Beispiel 3.48
Die Gleichheit auf einer beliebigen Menge A ist eine Äquivalenzrelation auf A, wobei jede Äquivalenzklasse aus genau einem Element besteht. Das einzige Repräsentantensystem ist somit A selbst.
Beispiel 3.49
durch
Die Relation ≡ ⊆ (Z×Z\{0})×(Z×Z\{0}) sei definiert
≡ = {((a, b), (x, y)) | (a, b) ∈ Z × Z \ {0}, (x, y) ∈ Z × Z \ {0}, ay = bx}
Offensichtlich ist (a, b) ≡ (x, y) genau dann wenn
a/b = x/y
wobei / die Division in Q ist, also z.B.
(6, 4) ≡ (12, 8) da 6/4 = 12/8 = 1.5
und
(6, 4) 6≡ (6, 5) da 6/4 6= 6/5.
Es ist leicht zu sehen, dass ≡ eine Äquivalenzrelation auf Z × Z \ {0}
ist. Die Äquivalenzklassen von ≡ entsprechen den rationalen Zahlen Q,
da es für jede rationale Zahl q ∈ Q genau eine Äquivalenzklasse von ≡
gibt, für deren Elemente (a, b) gilt a/b = q.
Beispiel 3.50
Äquivalenzklassen der in Bild 3.5 links dargestellten Relation sind z.B. {1, −1}, {2, −2}, {0}, usw. Die Menge aller Äquivalenzklassen ist daher
Z = {{x, −x} | x ∈ R}
Ein Repräsentantensystem ist somit die Menge aller reeller Zahlen, die
größer oder gleich 0 sind.
3.4
Ordnungsrelationen
Relationen wie ≤N oder >Z sind keine Äquivalenzrelationen weil es an der
Symmetrie hapert und bei >Z fehlt auch noch die Reflexivität. Dennoch
spielen diese Relationen eine wichtige Rolle und so haben auch ihre charakteristischen Eigenschaften einen Namen verdient. Die Relationen dienen
dazu, die Elemente einer Menge anzuordnen. Sie legen fest, welches Element
“vor” welchem kommt. Wenn a vor b ist, dann kann nicht gleichzeitig b vor a
sein. Die Eigenschaft ist also, dass für zwei verschiedene Elemente a, b nicht
gleichzeitig aRb und bRa erfüllt sein darf. Das erinnert sehr an Symmetrie:
Logik und Künstliche Intelligenz
V. Stahl
Seite 59
Hier hat man gefordert, dass wenn aRb gilt, auch bRa gelten muss. Die Ordnungseigenschaft nennt man daher Antisymmetrie.
Definition 3.51 (Antisymmetrisch)
Eine Relation R heißt antisymmetrisch wenn für keine zwei verschiedenen Objekte a 6= b sowohl aRb als auch bRa gilt:
∀a ∀b (aRb ∧ bRa) → a = b.
Beispiel 3.52
Die Relation ≤N ist antisymmetrisch. Wenn a ≤N b und
b ≤N a, dann muss a = b sein.
Beispiel 3.53
Die Relation >Z ist ebenfalls antisymmetrisch. Wenn a >Z
b und b >Z a, dann muss a = b sein. Moment . . . . Es gibt doch gar
keine zwei Zahlen a, b ∈ Z für die a >Z b und gleichzeitig b >Z a ist! Ist
die getroffene Aussage dann überhaupt sinnvoll? Ein gewiefter Anwalt
würde so argumentieren: Die Aussage lautet wörtlich, dass alle Paare von ganzen Zahlen (a, b), die die (zugegebenermaßen unmögliche)
Eigenschaft besitzen dass a >Z b und b >Z a, auch noch die Eigenschaft a = b erfüllen. Wenn diese Aussage falsch wäre, müsste es ein
Gegenbeispiel geben. Wer eins findet, der spreche jetzt oder schweige
für immer. Winkeladvokaten wie diesem verdanken wir die Tatsache,
dass eine wenn–dann Aussage immer wahr ist, sobald der wenn–Teil
falsch ist.
Beispiel 3.54
Sei
R = {(1, 2), (2, 3), (3, 1)}.
Auch diese Relation ist antisymmetrisch. Allzuviel Ordnung stiftet sie
jedoch nicht: Sie legt zwar fest, dass 1 vor 2 und 2 vor 3 kommt, gleichzeitig aber auch 3 vor 1. Das entspricht nicht unserer Vorstellung einer
Ordnung! Um halbwegs zu einer Ordnung zu kommen muss man also
zusätzlich noch Transitivität fordern.
Definition 3.55 (Halbordnung)
Eine Relation R heißt Halbordnung auf A wenn R ⊆ A × A und R
reflexiv auf A, transitiv und antisymmetrisch ist.
Somit ist ≤N eine Halbordnung auf N. Andererseits ist >Q keine Halbordnung auf Q, da >Q nicht reflexiv ist. Das ist kontraintuitiv — warum hat
V. Stahl
Logik und Künstliche Intelligenz
Seite 60
man die Forderung nach Reflexivität in die Definition des Begriffs Halbordnung eingebaut? Ich habe keine Ahnung, es muss wohl ein Pedant gewesen
sein, der darauf bestanden hat. . . .
Halbordnungen kommen unserer Vorstellung einer Ordnung schon recht
nahe. Andererseits ist aber auch z.B.
R = {(a, a) | a ∈ N}
= {(1, 1), (2, 2), (3, 3), . . .}
eine Halbordnung auf N und diese Relation hat wirklich nichts Ordnendes
an sich. Ordnung ist nur gewährleistet, wenn man jedes Element von N mit
jedem anderen vergleichen kann, d.h. für alle a, b ∈ N gilt aRb oder bRa.
Fordert man diese Vergleichbarkeit noch zusätzlich von einer Halbordnung,
erhält man eine totale (oder lineare Ordnung):
Definition 3.56 (totale Ordnung)
Eine Relation R heißt totale Ordnung auf A wenn R Halbordnung
auf A ist und
∀a ∀b aRb ∨ bRa.
Beispiel 3.57
≤N ist eine totale Ordnung auf N.
Fordert man von der Relation R ⊆ A × A zusätzlich noch, dass es in jeder
Teilmenge B ⊆ A ein Element gibt, das zu allen anderen Elementen von B
in Relation steht, dann heißt R Wohlordnung auf A.
Definition 3.58 (Wohlordnung)
Eine Relation R heißt Wohlordnung auf A wenn R totale Ordnung
auf A ist und
∀B ⊆ A ∃x ∈ B ∀y ∈ B xRy.
Beispiel 3.59
≤N ist eine Wohlordnung auf N während ≤Z keine Wohlordnung auf Z ist. Ist z.B. B die Menge der geraden ganzen Zahlen,
dann ist B ⊆ Z aber B hat kein kleinstes Element.
Beispiel 3.60
≥N ist zwar eine totale Ordnung auf N aber keine Wohlordnung auf N. In einer unendliche Teilmenge von N gibt es kein Element, das größer gleich allen anderen ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 61
Beispiel 3.61
Die Teilmengenrelation auf P (N) ist keine Wohlordnung,
da sie keine totale Ordnung ist. So gilt z.B.
weder {2, 3} ⊆ {4} noch {4} ⊆ {2, 3}.
Beispiel 3.62
Jede totale Ordnung auf einer endlichen Menge ist auch
eine Wohlordnung.
Beispiel 3.63
≤R ist keine Wohlordnung auf R+
0 , da z.B. die Menge
{x | x ∈ R ∧ x > 0 ∧ x < 1}
kein kleinstes Element hat.
In einer Wohlordnung kann es keine unendlich langen Folgen der Form
. . . R a3 R a2 R a1
geben, da sonst
B = {a1 , a2 , a3 , . . .}
eine Teilmenge von A ist, die kein Element hat, das mit allen anderen Elementen von B in Relation steht. Solche Relationen spielen eine Rolle, wenn
man z.B. beweisen möchte, dass ein Computerprogramm terminiert.
3.5
Umkehrrelation
Eine Relation R ⊆ A×B ist eine Menge von Paaren, wobei die erste Komponente eines jeden Paars aus A ist und die zweite aus B. Vertauscht man nun in
jedem Paar die beiden Komponenten, erhält man eine Relation R−1 ⊆ B ×A.
Diese Relation heißt Umkehrrelation von R.
Definition 3.64 (Umkehrrelation)
Die Umkehrrelation einer Relation R ist definiert durch
R−1 = {(a, b) | (b, a) ∈ R}.
Wenn R ⊆ A × B, dann ist offensichtlich R−1 ⊆ B × A.
Beispiel 3.65
Dann ist
Sei
R = {(1, 2), (2, 2), (2, 3)}.
R−1 = {(2, 1), (2, 2), (3, 2)}
V. Stahl
Logik und Künstliche Intelligenz
Seite 62
Beispiel 3.66
Die Umkehrrelation der Nachfolgerrelation auf N ist die
Vorgängerrelation auf N:
σ −1 = {(a, b) | (b, a) ∈ σ}
= {(a, b) | a ∈ N, b ∈ N, a = b + 1}
= {(2, 1), (3, 2), (4, 3) . . .}.
Beispiel 3.67
Die Umkehrrelation der kleiner Relation auf N ist die
größer Relation auf N:
<−1
=
N
=
=
=
{(a, b) | (b, a) ∈<N }
{(a, b) | a, b ∈ N, b ist kleiner als a }
{(a, b) | a, b ∈ N, a ist größer als b }
>N .
Eine Relation R ist symmetrisch genau dann wenn R = R−1 . Mit den in
diesem Kapitel vorgestellten Techniken müssten Sie in der Lage sein, solche
Aussagen zu beweisen.
V. Stahl
4
Logik und Künstliche Intelligenz
Seite 63
Beweistechniken
Erfahrungsgemäß haben Studenten mit Beweisen oft ihre liebe Not. Ich kann
und möchte Ihnen aber das Thema nicht ersparen, da Beweisen nichts anderes
ist als zielorientiertes logisches Denken, und das ist vor allem für Informatiker
unverzichtbar. Was ich aber für Sie tun kann, ist Ihnen ein paar Rezepte an
die Hand zu geben, wie Sie Ihren Weg durch mathematische (und natürlich
auch nichtmathematische) Beweise finden können, siehe [3], Seite 263ff. Noch
genauer formalisiert werden diese Techniken in Kapitel ??, dies aber mit
dem Ziel, dass Beweise komplett mechanisch und ohne jegliche menschliche
Intelligez durchgeführt werden können. Der Nachteil hierbei ist, dass der
Aufwand astronomisch wächst.
Ein mathematischer Beweis hat viel Ähnlichkeit mit einem Handel. Manche Dinge besitzt man, manche Dinge möchte man gerne haben und durch
geschickte Transaktionen versucht man alle Dinge, die man haben möchte,
zu bekommen. Die Dinge, die in einem Beweis gedealt werden sind Aussagen, die Transaktionen heißen Beweisschritte. Eine Aussage “besitzt” man,
wenn man gezeigt hat (oder in einer Fallunterscheidung annimmt), dass sie
wahr ist. Die Menge dieser Aussagen bezeichnet man mit “Gegeben”. Analog
bezeichnet man die Menge der Aussagen, die man beweisen möchte, mit “Zu
zeigen”. Nachfolgend werden Beweisschritte aufgelistet, die auf Aussagen in
“Gegeben” bzw. “Zu zeigen” anwendbar sind. Ein Beweis ist dann nichts
anderes als eine Folge solcher Beweisschritte, an deren Ende die zu zeigenden
Aussagen gegeben sind.
Die Menge “Gegeben” ist dabei stets wachsend. Hat man einmal von
einer Aussage gezeigt, dass sie wahr ist, kann man zu jedem Zeitpunkt im
Beweis auf sie zurückgreifen. Andererseits werden die Aussagen in “Zu zeigen” in den auf sie angewandten Beweisschritten durch einfachere Aussagen
ersetzt.
Die erste (und oft schwierigste) Hürde bei einem Beweis ist, sich klar
zu machen welche Aussagen gegeben und welche zu zeigen sind — und dies
korrekt hinzuschreiben. In der Menge “Gegeben” ist unser gesamtes mathematisches Wissen. Die Menge “Zu zeigen” enthält die zu beweisende Aussage,
d.h. besteht in der Regel aus einem einzigen Element.
4.1
Allgemein anwendbare Beweistechniken
Einsetzen von Definitionen.
Tritt in einer Aussage ein Begriff auf, dann kann man immer die Definition des Begriffes einsetzen. Dies gilt sowohl für Aussagen in “Ge-
V. Stahl
Logik und Künstliche Intelligenz
Seite 64
geben” als auch in “Zu zeigen”. In der Regel sollte man diesen Schritt
erst dann anwenden, wenn sonst keine Schritte anwendbar sind, da die
dabei entstehenden Formeln meistens länger werden.
Beispiel 4.1
Zu zeigen: A ⊆ B.
Beweisschritt: Einsetzen der Definition von ⊆.
Zu zeigen: ∀x x ∈ A → x ∈ B.
Beispiel 4.2
Gegeben: R ist reflexiv auf A.
Beweisschritt: Einsetzen der Definition von “reflexiv”.
Gegeben: ∀x x ∈ A → xRx.
Logische Umformungen
Man kann zu jeder Zeit im Beweis die gegebenen bzw. zu zeigenden
Aussagen logisch äquivalent umformen. Die wichtigsten Regeln hierzu
sind in den Theoremen 7.24 und 7.25 zusammengefasst.
Beispiel 4.3
Zu zeigen: ¬xRy ∨ ¬yRz ∨ xRz
Beweisschritt: Logische Umformung.
Zu zeigen: (xRy ∧ yRz) → xRz
Beispiel 4.4
Zu zeigen: ¬∃y ∈ Z ∀x ∈ Z x ≥ y
Beweisschritt: Logische Umformung.
Zu zeigen: ∀y ∈ Z ∃x ∈ Z x < y
4.2
Beweistechniken für aussagenlogische Symbole
Zu zeigende Aussage vom Typ A → B.
Da die meisten Theoreme die Form “wenn . . . dann . . . ” haben, kann
der nachfolgend beschriebene Beweisschritt fast immer als erster im
Beweis angewandt werden. Er besteht darin, dass man annimmt dass
A wahr ist, und unter Verwendung dieser Annahme B beweist.
Beispiel 4.5
Zu zeigen: c ∈ A → cRc.
Beweisschritt: Wenn dann Aussage.
Gegeben: c ∈ A
Zu zeigen: cRc
V. Stahl
Logik und Künstliche Intelligenz
Seite 65
Wieso darf man hier einfach annehmen, dass A wahr ist? Dieser Beweisschritt ist genaugenommen eine abgekürzte Fallunterscheidung. Im
ersten Fall nimmt man an, dass A wahr ist, im zweiten, dass A falsch
ist. Nun kann man sich aber den zweiten Fall sparen, denn wenn A
falsch ist, ist A → B sowieso wahr, siehe Tabelle 2.1.
Zu zeigende Aussage vom Typ ¬A.
In diesem Fall nimmt man A zu den gegebenen Aussagen dazu und
leitet einen Widerspruch her.
Beispiel 4.6
Zu zeigen: ¬∃x x ∈ A ∧ x ∈ B.
Beweisschritt: Widerspruchsbeweis.
Annahme: ∃x x ∈ A ∧ x ∈ B.
Zu zeigen: Widerspruch.
Gegebene Aussage vom Typ A und A → B.
Wenn sowohl A als auch A → B gegeben sind, dann kann man auch
B zu den gegebenen Aussagen dazunehmen. Dieser Beweisschritt heißt
Modus Ponens.
Beispiel 4.7
Gegeben: aRb und aRb → bRa
Beweisschritt: Modus Ponens
Gegeben: bRa.
Gegebene Aussage vom Typ A ∨ B.
Ist eine Aussage vom Typ A∨B gegeben, dann kann man davon ausgehen, dass entweder A oder B wahr ist, oder beide. Entsprechend kommt
man oft mit einer Fallunterscheidung weiter:
• Fall 1: Gegeben A und ¬B
• Fall 2: Gegeben ¬A und B
• Fall 3: Gegeben A und B
Häufig kommt man auch schon mit nur zwei Fällen hin:
• Fall 1: Gegeben A.
• Fall 2: Gegeben B.
Gegebene Aussage vom Typ A ↔ B.
Ist eine Aussage vom Typ A ↔ B gegeben, dann darf man jedes Auftreten von A durch B ersetzen und umgekehrt. Dies gilt sowohl für die
V. Stahl
Logik und Künstliche Intelligenz
Seite 66
gegebenen als auch für die zu zeigenden Formeln. Da Definitionen immer die Form A ↔ B haben, entspricht dieser Beweisschritt dem o.g.
Einsetzen von Definitionen.
Beispiel 4.8
Gegeben: A ⊆ B ↔ ∀x (x ∈ A → x ∈ B).
Zu zeigen: A ⊆ B.
Beweisschritt:
Zu zeigen: ∀x (x ∈ A → x ∈ B).
Andere Beweissituationen können oft durch logische Umformungen auf die
genannten Situationen reduziert werden. Muss man z.B. eine Aussage der
Form A ∨ B beweisen, kann man dies z.B. in ¬A → B umformen und o.g.
Beweisschritt für zu zeigende Aussagen der Form A → B anwenden.
4.3
Beweistechniken für Quantoren
Zu zeigende Aussage vom Typ ∀x F (x).
Hat eine zu zeigende Aussage die Form ∀x F (x), d.h. beginnt mit einem
Allquantor, dann kann man diesen einfach weglassen indem man sagt
“sei x beliebig aber fest”.
Dieser Schritt scheint trivial, was aber hinter den Kulissen passiert ist,
dass man aus der Variablen x eine Konstante macht und die zu zeigende
Aussage dadurch vereinfacht.
Beispiel 4.9
Zu zeigen: ∀x x ∈ A → xRx.
Beweisschritt: Sei x beliebig aber fest.
Zu zeigen: x ∈ A → xRx.
Mathematisch sauberer wäre es, wenn man tatsächlich ein neues Konstantensymbol statt x verwenden würde, da dann keine Verwirrung
entstehen könnte, was Variablen- und was Konstantensymbole sind.
Beispiel 4.10
Zu zeigen: ∀x x ∈ A → xRx.
Beweisschritt: Sei c beliebig aber fest.
Zu zeigen: c ∈ A → cRc.
Zu zeigende Aussage vom Typ ∃x F (x).
Für diese Beweissituation gibt’s kein einfaches Rezept, und das ist auch
V. Stahl
Logik und Künstliche Intelligenz
Seite 67
der Grund weshalb Beweise oft schwierig sind. Gefordert ist, dass man
ein Objekt konstruiert, welches die durch F beschriebene Eigenschaft
besitzt. Solch ein Objekt kann durch ein bereits eingeführtes Konstantensymbol beschrieben werden, oder allgemeiner durch einen Term, in
dem nur bereits eingeführte Konstantensymbole vorkommen.
Beispiel 4.11
Zu zeigen: ∀x ∃y y > x
Beweisschritt: Sei x beliebig aber fest.
Zu zeigen ∃y y > x.
Beweisschritt: Sei y = x + 1.
Zu zeigen: x + 1 > x. Trivial.
Gelingt es wie in diesem Beispiel einen Term für ein Objekt mit der geforderten Eigenschaft zu finden, spricht man von einem konstruktiven
Beweis. Leider lässt sich in der Mathematik aber nicht alles konstruktiv beweisen (schwieriges Thema. . . ). In diesen Fällen muss man einen
Widerspruchsbeweis führen: Man nimmt an, dass es kein Objekt mit
der geforderten Eigenschaft gibt, und leitet damit einen Widerspruch
her. In obigem Beispiel würde ein Widerspruchsbeweis wie folgt laufen:
Beispiel 4.12
Zu zeigen: ∃y y > x.
Beweisschritt: Widerspruchsbeweis.
Gegeben: ¬∃y y > x.
Zu zeigen: Widerspruch.
Beweisschritt: Äquivalente Umformung.
Gegeben: ∀y y ≤ x.
Beweisschritt: Ersetze die allquantifizierte Variable y durch den
konstanten Term x + 1.
Gegben: x + 1 ≤ x. Widerspruch.
Zu zeigende Aussage vom Typ ∃!x F (x).
Hier muss bewiesen werden, dass es genau ein x gibt, welches die durch
F beschriebene Eigenschaft besitzt. Der Beweis kann in zwei Teile zerlegt werden:
• Beweisen, dass es mindestens ein solches x gibt, d.h.
∃x F (x).
V. Stahl
Logik und Künstliche Intelligenz
Seite 68
• Beweisen, dass es höchstens ein solches x gibt, d.h.
∀x1 , x2 (F (x1 ) ∧ F (x2 )) → x1 = x2 .
Gegebene Aussage vom Typ ∀x F (x).
Hat eine zu zeigende Aussage die Form ∀x F (x), d.h. beginnt mit
einem Allquantor, kann man diesen weglassen und im Rest der Formel
die freien Vorkommen von x durch einen beliebigen, konstanten Term
ersetzen.
Beispiel 4.13
Gegeben: ∀x ∃y x > y √
Beweisschritt:√Sei x = 2
Gegeben: ∃y 2 > y
Klar, wenn eine Aussage für jedes Objekt wahr ist, dann auch für ein
bestimmtes Objekt, das durch einen Term beschrieben wird.
Gegebene Aussage vom Typ ∃x F (x).
In diesem Fall weiss man, dass es ein Objekt gibt, welches die durch
F beschriebene Eigenschaft besitzt. Man fährt fort, indem man dem
Kind einen Namen gibt, d.h. ein neues Konstantensymbol c einführt
und sagt
“sei c so dass F (c) wahr ist.
Dieses neue Objekt kann man in den nachfolgenden Beweisschritten
verwenden.
Beispiel 4.14
Gegeben: ∃x ∀y x ≤ y
Beweisschritt: Sei c so dass . . .
Gegeben: ∀y c ≤ y
Gegebene Aussage vom Typ ∃!x F (x).
Hier weiß man, dass es genau ein x gibt, das die durch F beschriebene
Eigenschaft besitzt. Dieses Wissen kann man äquivalent durch zwei
einfachere Formeln darstellen:
• Es gibt mindestens ein x mit der Eigenschaft, d.h.
∃x F (x).
• Es gibt höchstens ein x mit der Eigenschaft, d.h.
∀x1 , x2 (F (x1 ) ∧ F (x2 )) → x1 = x2 .
Logik und Künstliche Intelligenz
V. Stahl
4.4
Seite 69
Zusammenfassung
Ausgangssituation
Beweisschritt
Regel
Ann.
z.zg.
A→B
—
¬A ∨ B
—
Ann.
z.zg.
—
A→B
A
B
Ann.
z.zg.
—
¬A
A
B, ¬B für beliebige
Formel B
Widerspruchsbeweis
Ann.
A∨B
Fallunterscheidung
z.zg.
—
Fall 1: A
Fall 2: B
—
Ann.
z.zg.
—
A∨B
—
¬A → B
Ann.
z.zg.
A∧B
—
A, B
—
Ann.
z.zg.
—
A∧B
—
Schritt 1: A
Schritt 2: B
Ann.
z.zg.
A↔B
—
A durch B ersetzen
A durch B ersetzen
u.a. Einsetzen
von Definitionen
Ann.
z.zg.
—
A↔B
—
(A → B) ∧ (B → A)
Umformung
Ann.
z.zg.
A, A → B
—
B
—
Umformung
Wenn-dann Regel
Umformung
Zerlegen in
Teilprobleme
Modus Ponens
Tabelle 4.1: Beweisregeln für Aussagenlogische Symbole
Logik und Künstliche Intelligenz
V. Stahl
Seite 70
Ausgangssituation
Beweisschritt
Regel
Ann.
∀x F (x)
Spezialfall
z.zg.
—
F (t) für beliebigen
Term t ohne Variablen
—
Ann.
—
Elimination
Allquantor
z.zg.
∀x F (x)
x beliebig aber fest
(x ab jetzt Konstante)
F (x)
Ann.
∃x F (x)
Benennen
z.zg.
—
x so dass F (x)
(x ab jetzt Konstante)
—
Ann.
z.zg.
—
∃x F (x)
—
F (t) für einen
beliebigen Term t
Ann.
∃!x F (x)
z.zg.
—
Ann.
z.zg.
—
∃!x F (x)
Beispiel konstruieren
∃x F (x),
Umformung
∀x1 , x2 (F (x1 ) ∧ F (x2 ))
→ x1 = x2
—
—
∃x F (x),
Umformung
∀x1 , x2 (F (x1 ) ∧ F (x2 ))
→ x1 = x2
Tabelle 4.2: Beweisregeln für Quantoren
V. Stahl
5
Logik und Künstliche Intelligenz
Seite 71
Funktionen
In diesem Kapitel wird gezeigt, dass auch eine Funktion nichts anderes als
eine Menge ist. Bei der Konstruktion von Funktionen setzen wir dabei auf den
bereits bekannten Relationen auf. Es stellt sich heraus, dass eine Funktion
im Wesentlichen eine Relation mit speziellen Eigenschaften ist.
Häufig wird unter einer Funktion eine Rechenvorschrift verstanden. So
sagt z.B. die Funktion f (x) = x2 , dass man den Input x quadrieren muss, um
zum zugehörigen Output zu kommen. Für Informatiker sind in Funktionen
also eng mit Computer Programmen verwandt. Funktionen sind jedoch wesentlich allgemeiner und müssen weder mit Zahlen noch mit Rechnen zu tun
haben. Ist z.B. M die Menge aller Studenten an der FH Heilbronn und für
alle x ∈ M sei f (x) das Semester von x, dann ist f ebenfalls eine Funktion.
Generell besteht eine Funktion also aus drei Dingen:
• Einer Menge A aus der die Argumente (oder Inputs) kommen. Im Beispiel ist dies die Menge der Studenten.
• Einer Menge B aus der die Funktionswerte (oder Outputs) kommen.
Im Beispiel ist dies die Menge {1, 2, 3, . . .}.
• Einer Zuordnung von jedem Element aus A zu genau einem Element der
Menge B. So eine Zuordnung kann man durch eine Relation R ⊆ A×B
beschreiben, die die spezielle Eigenschaft hat, dass es zu jedem a ∈ A
genau ein b ∈ B gibt mit aRb.
Aus der grafischen Darstellung der Mengen A und B und der Relationen R
durch Pfeile zwischen allen Elementen a ∈ A und b ∈ B mit aRb, erhält man
die grafische Darstellung einer Funktion, siehe Bild 5.1.
Entscheidend ist, dass die Relation R jedem a ∈ A genau ein b ∈ B
zuordnet. Die in Bild 5.2 dargestellten Objekte sind somit keine Funktionen
obwohl auch hier zwei Mengen A, B und eine Relation R ⊆ A × B im Spiel
sind! Andererseits darf zwei unterschiedlichen Elementen a1 , a2 ∈ A durchaus
das selbe b ∈ B zugeordnet werden, siehe Bild 5.1. Für die Quadrat Funktion
ist dies z.B. für a1 = 2 und a2 = −2 tatsächlich auch der Fall.
5.1
Rechtseindeutige Relationen
Beispiel 5.1
Sei R ⊆ Z × Z die Relation
R = {(a, b) | a ∈ Z, b ∈ Z, b = a3 }.
Logik und Künstliche Intelligenz
V. Stahl
Seite 72
R ⊆ A×B
A
B
Abbildung 5.1: Grafische Darstellung einer Funktion. Jedem a ∈ A wird
genau ein b ∈ B zugeordenet. Es ist erlaubt, dass unterschiedliche a’s das
selbe b bekommen. Es ist auch erlaubt, dass ein paar b’s leer ausgehen.
A
R ⊆ A×B
B
A
R ⊆ A×B
B
Abbildung 5.2: Links: Keine Funktion weil einem a zwei b’s zugeordnet werden. Rechts: Keine Funktion weil einem a gar kein b zugeordnet wird.
Offensichtlich hat R die Eigenschaft, dass es zu jedem a ∈ Z genau
ein b ∈ Z gibt, so dass aRb. Daher kann man R auch als Zuordnung
interpretieren, die jedem Argument a ∈ Z genau einen Funktionswert
b = a3 ∈ Z zuordnet.
Beispiel 5.2
Auch die in Bild 3.1 links dargestellte Relation σ hat die
Eigenschaft, dass es zu jedem a ∈ N genau ein b ∈ N gibt, so dass
b = a + 1. Die im gleichen Bild rechts dargestellte Relation ≡3 hat
diese Eigenschaft jedoch nicht, da z.B. 2 ≡3 2 und 2 ≡3 5.
Beispiel 5.3
Die in Bild 3.4 rechts dargestellte Relation hat die Eigenschaft, dass es zu jedem a ∈ R genau ein b ∈ R gibt mit b = a2 . Die im
gleichen Bild links dargestellte Relation hat diese Eigenschaft jedoch
nicht, da z.B. |2| = |2| und |2| = | − 2|
V. Stahl
Logik und Künstliche Intelligenz
Seite 73
Definition 5.4 (Rechtseindeutig)
Eine Relation R heißt rechtseindeutig, wenn es zu jedem a höchstens
ein b gibt, so dass aRb.
Ein erster Versuch, diese Definition in eine Formel zu packen, könnte so
aussehen:
rechtseindeutig(R) ↔ ∀a ∃b aRb.
Dies ist jedoch nicht ganz korrekt: Es wird nicht gefordert, dass ein b existiert sondern höchstens ein b. “Höchstens ein” bedeutet entweder gar keins
oder genau eines, aber eben nicht mehr als eines. Die Bedeutung des Existenzquantors ist jedoch “mindestens ein”, d.h. eins oder mehrere aber nicht
keines. Wie kann man “höchstens ein” mit den bereits bekannten Symbolen
formulieren? Etwas umständlich ausgedrückt würde es so gehen:
Wenn es zwei Objekte mit der geforderten Eigenschaft gibt, dann
müssen diese gleich sein.
Den Pulitzer Preis wird man dafür zwar nicht bekommen, aber wenigstens
müssen wir nicht noch mehr Symbole einführen. Die korrekte Formel für eine
rechtseindeutige Relation ist somit
rechtseindeutig(R) ↔ ∀a ∀b1 ∀b2 (aRb1 ∧ aRb2 ) → b1 = b2 .
Relationale Datenbanken. Ein Konzept, das der Rechtseindeutigkeit sehr
ähnlich ist, findet man in Datenbanken wieder. Man spricht dort von Schlüsseln.
Die Personaldatenbank einer kleinen Firma könnte z.B. wie folgt aussehen:
Vorname Nachname
Hans
Müller
Dieter
Müller
Kurt
Lang
Hans
Meier
Personalnummer
10239087
76239872
23984751
83982136
Rolle
Senior Manager
Manager
Manager
Programmierer
Die Spalte Personalnummer spielt eine besondere Rolle, da durch die Angabe
der Personalnummer eindeutig eine Person festgelegt ist. Kennt man z.B. nur
den Nachnamen Müller oder die Rolle Manager, ist nicht klar welche Person
gemeint ist. Die Personalnummer wird daher Schlüssel genannt. Jede Spalte
der Tabelle hat einen Typ, so haben z.B. Vorname, Nachname und Rolle den
Typ String, während Personalnummer den Typ Integer hat. Mathematisch
gesehen sind String und Integer nichts anderes als Mengen, nämlich die
V. Stahl
Logik und Künstliche Intelligenz
Seite 74
Menge aller Zeichenketten und die Menge aller ganzer Zahlen. Die Tabelle
kann somit als Relation
R ⊆ String × String × Integer × String
beschrieben werden. Es gilt z.B.
(Dieter, Müller, 76239872, Manager) ∈ R
während
(Hans, Lang, 83982136, Manager) 6∈ R.
Dass die Personalnummer Schlüssel von R ist, lässt sich nun wie folgt ausdrücken:
für alle x3 ∈ Integer
existiert höchstens ein x1 , x2 , x4 ∈ String
so dass (x1 , x2 , x3 , x4 ) ∈ R
Das “höchstens ein” bedeutet nicht, dass es zu jeder ganzen Zahl einen Mitarbeiter mit dieser Personalnummer geben muss, es bedeutet aber andererseits,
dass keine zwei Mitarbeiter die selbe Personalnummer haben können. Das
Konzept der Schlüssel in Datenbanken ist also im Wesentlichen eine Erweiterung des Begriffs der rechtseindeutigen Relation. Um einen noch engeren
Zusammenhang herzustellen, kann man die Komponenten von R umordnen
und gruppieren. Es entsteht dann eine Relation
R ⊆ Integer × String3
mit z.B.
Damit gilt
76239872, (Dieter, Müller, Manager) ∈ R.
für alle x ∈ Integer
existiert höchstens ein y ∈ String3
so dass (x, y) ∈ R,
d.h. die Relation ist rechtseindeutig, da die Personalnummer Schlüssel ist.
V. Stahl
5.2
Logik und Künstliche Intelligenz
Seite 75
Partielle Funktionen
Interpretiert man die linke Seite einer Relation als Argument und die
rechte Seite als Funktionswert, so sieht man, dass Funktionen im Prinzip
nichts anderes sind als spezielle Relationen. Die Einschränkung, die man
dabei aber machen muss ist, dass jedem Argumentwert nur höchstens ein
Funktionswert zugeordnet ist. Dies ist der entscheidende Unterschied zwischen einer Relation und einer partiellen Funktion. Stellt man die härtere
Forderung, dass jedem Argument genau ein Funktionswert zugeordnet wird,
erhält man (totale) Funktionen. Das in Bild 5.2 rechts dargestellte Objekt
ist eine partielle Funktion aber keine (totale) Funktion.
Im Folgenden seien A, B Mengen und R ⊆ A × B eine Relation. Ein rein
verwaltungstechnischer Unterschied zwischen einer rechtseindeutigen Relation und einer partiellen Funktion ist, dass man bei der partiellen Funktion
die Mengen A und B noch mit abspeichert.
Definition 5.5 (Partielle Funktion)
Ein Tripel f = (A, B, R) heißt partielle Funktion, wenn
• R ⊆ A × B ist und
• R rechtseindeutig ist, d.h. für jedes a ∈ A höchstens ein b ∈ B
existiert mit aRb.
Die Relation R heißt hierbei Graph der Funktion f .
Beachten Sie, dass bei der Definition einer partiellen Funktion nicht nur
der Graph R von f sondern auch die Mengen A und B angegeben werden
müssen!
Ist f = (A, B, R) eine partielle Funktion und a ∈ A, so existiert höchstens
ein Element b ∈ B mit aRb. Dieses Element wird auch kurz mit f (a) bezeichnet und Funktionswert von a genannt, falls es existiert. Man sagt daher auch,
dass f Elemente der Menge A auf Elemente der Menge B abbildet oder noch
einfacher
f ist eine partielle Funktion von A nach B.
Logik und Künstliche Intelligenz
V. Stahl
5.3
Seite 76
Definitionsbereich, Wertebereich
Definition 5.6 (Definitionsbereich, Wertebereich)
Sei f = (A, B, R) eine partielle Funktion.
• Der Definitionsbereich def(f ) ⊆ A von f ist
def(f ) = {a ∈ A | es existiert ein b ∈ B so dass aRb }
= {a | a ∈ A ∧ ∃b b ∈ B ∧ aRb}
• Der Wertebereich bild(f ) ⊆ B von f (auch Bild von f genannt)
ist
bild(f ) = {b ∈ B | es existiert ein a ∈ A so dass aRb }
= {b | b ∈ B ∧ ∃a a ∈ A ∧ aRb}
Bemerkung. Das Bild von f kann man auch kompakt schreiben als
bild(f ) = {f (a) | a ∈ def(f )}.
Man schreibt hierfür auch oft f (A).
Ist f = (A, B, R) eine partielle Funktion, dann ist garantiert, dass es zu
jedem a ∈ A höchstens einen Funktionswert f (a) gibt. Es kann aber durchaus
passieren, dass es zu einem a keinen Funktionswert gibt. Man sagt dann auch
dass f an der Stelle a eine Definitionslücke hat bzw. f (a) undefiniert ist.
Beispiel 5.7
In Bild 5.3 ist eine partielle Funktion f = (A, B, R) dar1
4
5
2
6
7
3
R ⊆ A×B
A
B
Abbildung 5.3: Partielle Funktion.
Logik und Künstliche Intelligenz
V. Stahl
Seite 77
gestellt mit
A = {1, 2, 3}
B = {4, 5, 6, 7}
R = {(1, 4), (3, 6)}.
Es gilt somit f (1) = 4 und f (3) = 6 während f (2) undefiniert ist. Die
Funktion hat also an der Stelle 2 eine Definitionslücke. Weiterhin ist
def(f ) = {1, 3}
bild(f ) = {4, 6}.
Beispiel 5.8
Sei
f = R, R, {(a, b) | a ∈ R, b ∈ R, ab = 1}
Dies ist die Kehrwertsfunktion f (x) = 1/x, die für x = 0 nicht definiert
ist. Der Definitionsbereich von f ist
def(f ) = R \ {0},
d.h. f hat an der Stelle 0 eine Definitionslücke.
5.4
Totale Funktionen
Wenn eine partielle Funktion keine Definitionslücken hat, nennt man sie auch
totale Funktion (oder einfach Funktion).
Definition 5.9 (Totale Funktion)
Eine partielle Funktion f = (A, B, R) heißt total wenn def(f ) = A.
Eine totale Funktion f = (A, B, R) ordnet also jedem a ∈ A genau ein b ∈ B
zu. Man sagt auch f ist auf ganz A definiert. Statt totaler Funktion sagt man
auch einfach Funktion von A nach B.
Für eine totale Funktion f = (A, B, R) gilt also, dass jedem a ∈ A genau
ein b ∈ B zugeordnet wird, d.h.
∀a a ∈ A → (∃!b b ∈ B ∧ aRb).
Etwas lesbarer werden solche Formeln, wenn man direkt zu den Quantoren
dazuschreibt aus welcher Menge die quantifizierten Variablen kommen sollen,
d.h.
∀a ∈ A ∃!b ∈ B aRb.
V. Stahl
Logik und Künstliche Intelligenz
Seite 78
Solche Quantoren werden relativierte Quantoren genannt. Für Beweise eignet sich die ausführliche Darstellung jedoch besser, da hier die einzelnen
Beweisschritte quasi schon dastehen.
Eigentlich braucht man den genau–ein–Existenzquantor ∃! gar nicht,
sondern kann ihn durch die anderen Symbole ersetzen: Genau ein bedeutet
mindestens ein und gleichzeitig höchstens ein. Mindestens ein ist die Bedeutung des normalen Existenzquantors, höchstens ein kann man wie in Kapitel
5.1 gezeigt formulieren. Somit erhält man folgende Formel für die Aussage
“zu jedem a ∈ A gibt es genau ein b ∈ B mit aRb”:
∀a ∈ A ∃b ∈ B aRb) ∧ ∀a ∀b1 ∀b2 (aRb1 ∧ aRb2 ) → b1 = b2 .
|
{z
} |
{z
}
mindestens ein
höchstens ein
Definition 5.10 (Menge der partiellen bzw. totalen Funktionen)
Die Menge der partiellen Funktionen von A nach B wird mit
A ⇀ B bezeichnet, d.h.
A ⇀ B = {f | ∃R f = (A, B, R) ∧ R ⊆ A × B ∧
∀a ∈ A ∀b1 ∈ B ∀b2 ∈ B (aRb1 ∧ aRb2 ) → b1 = b2 }.
Die Menge der totalen Funktionen von A nach B wird mit A → B
bezeichnet, d.h.
A → B = {f | ∃R f = (A, B, R) ∧ R ⊆ A × B ∧
∀a ∈ A ∃!b ∈ B aRb}.
Um also auszudrücken, dass f eine totale Funktion von A nach B ist, kann
man einfach schreiben
f ∈ A → B.
In der mathematischen Literatur wird statt des ∈ Symbols meistens ein Doppelpunkt verwendet, d.h.
f : A → B.
Dies ist historisch bedingt und führt dazu, dass sich heute viele Mathematiker
gar nicht bewusst sind, was A → B wirklich bedeutet.
Bemerkung. Manchmal wird die Menge der Funktionen von A nach B
auch mit B A bezeichnet. Dies ist dadurch motiviert, dass es für endliche
Mengen A, B genau |B||A| Funktionen von A nach B gibt.
V. Stahl
Logik und Künstliche Intelligenz
Seite 79
Definition 5.11 (n-stellige Funktion)
Ist f = (An , B, R) eine Funktion, so sagt man auch f ist n-stellige
Funktion auf A.
Definition 5.12 (m-wertige Funktion)
Ist f = (A, B m , R) eine Funktion, so sagt man auch f ist m-wertige
Funktion auf B.
Beispiel 5.13
Die Funktion f ∈ R → R, f (x) = x2 ist eine einstellige
und einwertige Funktion auf R.
Beispiel 5.14
Die Funktion f ∈ N × N → N, f (x, y) = x + y ist eine
zweistellige Funktion auf N, siehe Bild 5.4. Der Graph von f ist in
diesem Fall die Relation
(1, 1), 2 , (3, 4), 7 , (2, 5), 7 , . . . .
(1, 1)
...
2
(2, 5)
7
(3, 4)
...
...
N×N
N
Abbildung 5.4: Grafische Darstellung der Additionsfunktion + ∈ N×N → N.
Beispiel 5.15
Die Funktion f ∈ Z3 → Z2 , f (x, y, z) = (xy, xz) ist eine
dreistellige und zweiwertige Funktion auf Z.
Für zweistellige Funktionen verwendet man häufig die sog. Infixnotation, d.h.
das Funktionssymbol steht zwischen den Operanden, z.B.
a + b oder a/b
und nicht wie üblich davor, d.h.
+(a, b) oder /(a, b).
V. Stahl
5.5
Logik und Künstliche Intelligenz
Seite 80
Erweiterung
Angenommen Sie haben ein Java Funktion geschrieben, die von einer int
Zahl die Quersumme berechnet. Früher oder später wird ein Benutzer kommen und sich beschweren, dass das Programm nur Zahlen bis 231 − 1 akzeptiert, aber eben nicht größere. Sie müssten dann das Programm so modifizieren, dass es beliebig große Zahlen verarbeiten kann, z.B. unter Verwendung
des Typs BigInteger. Was Sie dabei gemacht haben, ist die ursprüngliche
Funktion
f ∈ int → int
zu erweitern zu einer Funktion
f ∈ Z → Z,
siehe Bild 5.5. Dieser Prozess tritt häufig auf wenn im Nachhinein zusätzliche
5 000 000 000
5
23
48
...
12
192
...
...
int
int
Z
Z
Abbildung 5.5: Erweiterung der Quersummenfunktion von int → int nach
Z → Z.
Features verlangt werden. Wir werden später darauf zurückkommen wenn
wir Ringe und Körper erweitern und damit Polynome und komplexe Zahlen
konstruieren.
Definition 5.16 (Erweiterung)
Seien f = (A, B, R) und g = (A′ , B ′ , R′ ) zwei Funktionen. Dann
heißt g Erweiterung von f wenn A ⊆ A′ , B ⊆ B ′ und R ⊆ R′ .
V. Stahl
Beispiel 5.17
N.
Logik und Künstliche Intelligenz
Seite 81
Die Addition auf Z ist eine Erweiterung der Addition auf
Nimmt man die Definition der Erweiterung wörtlich, stellt man fest, dass jede
Funktion Erweiterung von sich selbst ist. Das klingt vertraut — in der Tat ist
“Erweiterung von” eine reflexive, transitive und antisymmetrische Relation,
d.h. eine Halbordnung auf der Menge der Funktionen. Es gibt also Relationen
von Funktionen, Funktionen von Relationen, Mengen von Funktionen von
Funktionen von Relationen usw. Mathematik ist wie Lego . . . .
5.6
Komposition von Funktionen
Angenommen man hat zwei Funktionen
f ∈ A → B und
g ∈ B → C,
d.h. g bezieht seine Argumente aus genau der Menge, wo f seine Ergebnisse
abliefert. Für jedes a ∈ A kann man dann zuerst f anwenden und auf das
Ergebnis g. Was dabei herauskommt ist g(f (a)) ∈ C. Es handelt sich also
um eine Funktion, die Elemente aus A auf Elemente aus C abbildet. Diese
Funktion wird mit g ◦ f bezeichnet, d.h.
g◦f ∈A→C
und heißt Komposition von g und f .
A
f
B
g
C
gÆf
Abbildung 5.6: Funktionskomposition
Definition 5.18 (Komposition)
Seien f ∈ A → B und g ∈ B → C zwei Funktionen. Die Komposition g ◦ f von f und g ist definiert durch
g◦f ∈A→C
(g ◦ f )(a) = g(f (a)).
Logik und Künstliche Intelligenz
V. Stahl
Seite 82
Für die in Bild 5.7 dargestellte Funktion g ◦ f ∈ A → C
Beispiel 5.19
gilt
(g ◦ f )(1) = 8
(g ◦ f )(2) = 10
(g ◦ f )(3) = 10.
4
1
8
5
2
6
3
9
10
7
f
A
g
B
C
Abbildung 5.7: Komposition zweier Funktionen.
Beispiel 5.20
Sei
f ∈ Z → N0 ,
g ∈ N0 → N,
f (a) = a2 und
g(a) = a + 1.
Dann ist
g ◦ f ∈ Z → N,
(g ◦ f )(a) = g(f (a)) = a2 + 1.
Was immer wieder zu Fehlern führt, ist die Reihenfolge der Argumente
in der Funktionskomposition. So bedeutet g ◦ f , dass man zuerst f ausführt
und auf das Ergebnis g anwendet. Man liest g ◦ f daher auch als “g nach f ”.
Die Reihenfolge ist deshalb wichtig, weil im Allgemeinen gilt
g ◦ f 6= f ◦ g.
Damit die Komposition f ◦g überhaupt definiert ist, muss die Bildmenge von
g gleich der Argumentmenge von f sein, was im vorigen Beispiel gar nicht
der Fall ist. Selbst wenn sowohl g ◦ f als auch f ◦ g definiert sind, sind sie
trotzdem in der Regel verschieden.
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 5.21
Seite 83
Sei
f ∈ Z → N0 ,
g ∈ N0 → Z,
f (a) = a2 und
g(a) = a − 3.
Dann ist sowohl g ◦ f als auch f ◦ g definiert:
g ◦ f ∈ Z → Z,
g(f (a)) = a2 − 3 und
f ◦ g ∈ N0 → N0 , f (g(a)) = (a − 3)2 = a2 − 6a + 9
und somit g ◦ f 6= f ◦ g.
Beispiel 5.22
Sei
f ∈ N2 → N, f (a1 , a2 ) = a1 + a2 und
g ∈ N → Z × N, g(a) = (1 − a, 3a).
Dann ist g ◦ f ∈ N2 → Z × N mit
(g ◦ f )(a1 , a2 ) = g(f (a1 , a2 ))
= g(a1 + a2 )
= 1 − (a1 + a2 ), 3(a1 + a2 )
= (1 − a1 − a2 , 3a1 + 3a2 ).
Andererseits ist f ◦ g nicht definiert.
Beispiel 5.23
Sei
f ∈ N → N,
g ∈ N → N,
f (a) = 3a und
g(a) = a + 1
Dann ist sowohl g ◦ f als auch f ◦ g definiert:
g ◦ f ∈ N → N, g(f (a)) = g(3a) = 3a + 1 und
f ◦ g ∈ N → N, f (g(a)) = f (a + 1) = 3(a + 1) = 3a + 3
und somit g ◦ f 6= f ◦ g.
Was genau ist eigentlich die Funktionskomposition? Sie nimmt zwei zueinander passende Funktionen und liefert eine neue Funktion. Somit handelt
es sich um eine zweistellige partielle Funktion auf der Menge der Funktionen.
V. Stahl
Logik und Künstliche Intelligenz
Seite 84
Partiell deshalb, weil man nicht zwei beliebige Funktionen hintereinander
ausführen kann sondern nur zueinander kompatible. Sei also
F = {f | ∃A ∃B ∃R f = (A, B, R) ∧ R ⊆ A × B ∧ ∀a ∈ A ∃!b ∈ B aRb}
die Menge aller Funktionen. Dann ist
◦ ∈ F × F ⇀ F aber ◦ 6∈ F × F → F.
Man kann nun weitergehen und die Menge aller Paare von Funktionen definieren, die hintereinander ausgeführt werden können. Dies wäre
K = {(f, g) | ∃A ∃B ∃C ∃Rf ∃Rg
f = (A, B, Rf ) ∧ g = (B, C, Rg ) ∧
Rf ⊆ A × B ∧ Rg ⊆ B × C ∧
∀a ∈ A ∃!b ∈ B aRf b ∧
∀b ∈ B ∃!c ∈ C bRg c}
⊆ F × F.
Damit ließe sich dann sagen, dass ◦ eine Funktion von K nach F ist, d.h.
◦ ∈ K → F.
5.7
Surjektiv, injektiv, bijektiv
Schauen wir uns die beiden Funktionen
f ∈ Q → Q f (a) = a2
g ∈ Q → Q+
g(a) = a2
0
an. Die Funktionen sind zwar sehr ähnlich, wenn man aber die Definition von
Funktionen wörtlich nimmt, muss man zugeben dass sie nicht gleich sind:
f = (Q, Q, Rf ),
g = (Q, Q+
0 , Rg ).
Zwei Tripel sind genau dann gleich wenn alle Komponenten gleich sind. Da
Q 6= Q+
0 , unterscheiden sich f und g in der zweiten Komponente und somit
ist f 6= g. Was die zwei Funktionen aber so ähnlich macht ist, dass sie den
selben Graph haben.
Rf = {(a, b) | a ∈ Q, b ∈ Q, b = a2 }
2
= {(a, b) | a ∈ Q, b ∈ Q+
0 ,b = a }
= Rg .
Logik und Künstliche Intelligenz
V. Stahl
Seite 85
In gewisser Weise ist es also verschwenderisch, in der zweiten Komponenten von f alle rationalen Zahlen zu nehmen — die nicht negativen hätten’s
auch schon getan. Eine Funktion, die in diesem Sinne ökonomisch ist, heißt
surjektiv. Die Menge in der zweiten Komponente beinhaltet dann nur genau
die Elemente, die auch als Funktionswerte auftreten können, d.h. zu jedem
b ∈ Q+
0 gibt’s auch ein a ∈ Q so dass g(a) = b.
Definition 5.24 (Surjektive Funktion)
Eine Funktion f = (A, B, R) heißt surjektiv wenn es zu jedem
b ∈ B (mindestens) ein a ∈ A gibt mit aRb:
∀b ∈ B ∃a ∈ A aRb.
Gleichbedeutend kann man auch sagen
bild(f ) = B.
A
R ⊆ A×B
B
A
R ⊆ A×B
B
Abbildung 5.8: Links: surjektive Funktion. Rechts: nicht surjektive Funktion.
Beispiel 5.25
Die Addition + ∈ Z2 → Z ist surjektiv. Zu jedem b ∈ Z
gibt es ein Paar a = (a1 , a2 ) ∈ Z2 so dass a1 + a2 = b ist. Man kann
z.B. immer a2 = 0 und a1 = b nehmen.
Beispiel 5.26
Die Addition + ∈ N2 → N ist nicht surjektiv: Für b = 1
gibt es kein Paar von natürlichen Zahlen a = (a1 , a2 ) ∈ N2 so dass
a = a1 + a2 = 1. Für alle anderen b′ s aus N würde es gehen, aber der
Allquantor ist in der Hinsicht ziemlich kompromisslos.
Theorem 5.27
Ist f = (A, B, R) eine Funktion, dann ist (A, bild(f ), R) eine surjektive Funktion.
Logik und Künstliche Intelligenz
V. Stahl
Seite 86
Abgesehen davon, dass sie nicht surjektiv ist, ist die oben beschriebenen
Funktion f ist noch auf eine zweite Weise redundant.
√ positiven
√ Zu jedem
′
b ∈ Q gibt es zwei a s in Q so dass f (a) = b, nämlich b und − b. Diese b’s
fahren sozusagen zweigleisig. Dem kann man Einhalt gebieten, z.B. indem
man die Funktion auf nicht negative Argumente einschränkt. Man erhält
dann
h ∈ Q+
h(a) = a2 .
0 → Q,
Eine Funktion, die in diesem Sinne eingleisig fährt, heißt injektiv. Zu jedem
b ∈ Q gibt’s höchstens ein a ∈ Q+
0 so dass h(a) = b.
Definition 5.28 (Injektive Funktion)
Eine Funktion f = (A, B, R) heißt injektiv wenn es zu jedem b ∈ B
höchstens ein a ∈ A gibt mit aRb:
∀a ∈ A ∀a′ ∈ A ∀b ∈ B (aRb ∧ a′ Rb) → a = a′ .
Gleichbedeutend kann man auch sagen, dass unterschiedliche Argumente auf unterschiedliche Funktionswerte abgebildet werden
müssen:
∀a ∈ A ∀a′ ∈ A a 6= a′ → f (a) 6= f (a′ ).
A
R ⊆ A×B
B
A
R ⊆ A×B
B
Abbildung 5.9: Links: injektive Funktion. Rechts: nicht injektive Funktion.
Beispiel 5.29
Die Addition + ∈ N2 → N ist nicht injektiv. Für b = 3
gibt’s sowohl a = (1, 2) ∈ N2 als auch a = (2, 1) ∈ N2 .
Beispiel 5.30
Die Funktion f ∈ N → N2 mit f (a) = (a + 3, 2a) ist
injektiv. Es gibt zwar nicht zu jedem Paar b = (b1 , b2 ) ∈ N2 ein a ∈ N
mit f (a) = b (man nehme z.B. b = (1, 1), die Funktion ist also nicht
surjektiv) aber zu den Paaren b ∈ N2 wo’s ein a gibt (z.B. b = (5, 4)),
gibt’s nur ein einziges a ∈ N (im Beispiel a = 2).
V. Stahl
Logik und Künstliche Intelligenz
Seite 87
Da die Definitionen sehr ähnlich sind und sich nur in der Reihenfolge der
Quantoren und durch mindestens, höchstens und genau ein unterscheiden,
nochmal eine kurze Zusammenfassung:
Merkregel 5.31
Ein Tripel f = (A, B, R) mit R ⊆ A × B ist eine . . .
• partielle Funktion wenn
zu jedem a höchstens ein b mit aRb existiert.
• totale Funktion wenn
zu jedem a genau ein b mit aRb existiert.
Eine totale Funktion f = (A, B, R) ist . . .
• surjektiv wenn
zu jedem b (mindestens) ein a mit aRb existiert.
• injektiv wenn
zu jedem b höchstens ein a mit aRb existiert.
Es gibt Funktionen, die weder injektiv noch surjektiv sind. Es gibt auch
Funktionen, die injektiv aber nicht surjektiv oder surjektiv aber nicht injektiv
sind. Und schließlich gibt’s noch die Funktionen, die sowohl injektiv als auch
surjektiv sind:
Definition 5.32 (Bijektive Funktion)
Eine Funktion heißt bijektiv, wenn sie injektiv und surjektiv ist.
Eine bijektive Funktion f = (A, B, R) ist eine eins zu eins Zuordnung:
Zu jedem a ∈ A gibt’s genau ein b ∈ B (weil f eine Funktion ist) und zu
jedem b ∈ B gibt’s genau ein a ∈ A (weil f bijektiv ist). Jedes a weiß wo’s
hingehört und jedes b weiß wo’s herkommt. Da freut sich der Mathematiker.
Beispiel 5.33
Sei A = {x|x ∈ R, 0 ≤ x ≤ 1} die Menge der reellen
Zahlen zwischen 0 und 1. Dann ist f ∈ A → A, f (x) = x2 injektiv,
surjektiv und somit bijektiv.
Um von einer Funktion zu entscheiden ob sie bijektiv ist, prüft man ob
sie surjektiv und injektiv ist. Erfüllt sie eine der beiden Eigenschaften nicht,
ist sie auch nicht bijektiv.
Logik und Künstliche Intelligenz
V. Stahl
bijektiv
R ⊆ A×B
A
weder injektiv noch surjektiv
B
A
injektiv aber nicht surjektiv
A
R ⊆ A×B
Seite 88
B
R ⊆ A×B
B
nicht injektiv aber surjektiv
A
R ⊆ A×B
B
Abbildung 5.10: Überblick injektiv und surjektiv.
Wie entscheidet man nun von einer gegebenen Funktion f ∈ A → B ob
sie surjektiv ist?
• Zunächst sucht man sich ein paar Beispiele b ∈ B und prüft, ob es zu
jedem dieser b’s auch ein a ∈ A gibt, so dass f (a) = b. Bei der Wahl
der Beispiele sollte man darauf achten, dass die Menge B hierdurch gut
repräsentiert ist. Ist z.B. B = Z sollte man sowohl positive als auch
negative Zahlen prüfen. Auch Spezialfälle wie z.B. 0 und besonders
große oder kleine Zahlen sollten unter den Beispielen sein. Es können
nun zwei Dinge passieren:
• Es gibt ein Beispiel b, für das man kein entsprechendes a ∈ A findet
mit f (a) = b. Hier besteht der Verdacht, dass f nicht surjektiv ist. Es
könnte aber auch sein, dass man das zugehörige a nur übersehen hat.
Wenn A endlich ist, kann man alle Elemente von A durchprobieren,
andernfalls geht man wie folgt vor:
– Zu zeigen: Es gibt kein a ∈ A mit f (a) = b, d.h.
¬∃a ∈ A f (a) = b.
Laut Theorem 7.25 ist dies gleichbedeutend mit
∀a ∈ A f (a) 6= b.
V. Stahl
Logik und Künstliche Intelligenz
Seite 89
– Elimination des Allquantors:
Sei a ∈ A beliebig aber fest. Zu zeigen f (a) 6= b.
– An dieser Stelle muss man die Definition von f einsetzen um weiterrechnen zu können.
• Wenn man andererseits für alle Beispiele b ein a ∈ A gefunden hat
mit f (a) = b, so besteht der Verdacht, dass f surjektiv ist. Je mehr
Beispiele geprüft wurden, desto begründeter ist dieser Verdacht. Ganz
sicher kann man sich dabei aber nicht sein, außer wenn B endlich ist
und man alle Elemente von b geprüft hat. Andernfalls geht man wie
folgt vor:
– Zu zeigen: f ist surjektiv, d.h.
∀b ∈ B ∃a ∈ A f (a) = b.
– Elimination des Allquantors:
Sei b ∈ B beliebig aber fest. Zu zeigen
∃a ∈ A f (a) = b.
– So. Jetzt hat man eine Formel, die mit einem Existenzquantor
beginnt und so etwas zu beweisen ist wirklich schwer. Entweder
man findet einen Term, mit dem man das gesuchte a in Abhängigkeit von b berechnen kann — was darauf hinausläuft die Gleichung
f (a) = b nach a aufzulösen — oder man behilft sich mit folgendem
Trick:
– Widerspruchsbeweis: Man nimmt das Gegenteil an von dem was
man beweisen möchte und führt das zu einem Widerspruch. Das
ist ähnlich wie bei einem Gerichtsprozess — wenn der Angeklagte
beginnt sich in Widersprüche zu verwickeln, weiss man dass er
gelogen hat. Die Annahme ist also
¬∃a ∈ A f (a) = b.
Durch logische Umformung nach Theorem 7.25 erhält man
∀a ∈ A f (a) 6= b.
Unter Verwendung dieser Aussage muss man nun einen Widerspruch herleiten. Hierzu muss man im nächsten Schritt wieder auf
die Definition von f zurückgreifen.
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 5.34
Seite 90
Sei f ∈ R → R, f (a) = a2 .
• Wir wählen das Beispiel b = −2 und finden kein a ∈ R so dass
a2 = −2.
• Es entsteht also der Verdacht, dass es kein a ∈ R gibt mit f (a) =
−2.
– Zu zeigen: Es gibt kein a ∈ R so dass f (a) = −2, d.h.
¬∃a ∈ R f (a) = −2.
Umformung ergibt
∀a ∈ R f (a) 6= −2.
– Sei a ∈ R beliebig aber fest. Zu zeigen f (a) 6= −2.
– Einsetzen der Definition von f . Zu zeigen a2 6= −2.
– Bekannt ist die Tatsache
∀x ∈ R x2 ≥ 0.
Wenn das für alle x ∈ R gilt, dann sicher auch für x = a. Also
hat man
a2 ≥ 0.
Hieraus folgt a2 6= −2.
Beispiel 5.35
Sei f ∈ Z × Z → Z, f (a1 , a2 ) = a1 + a2 .
• Zunächst ein paar Beispiele:
– Für b = 3 findet man a = (1, 2).
– Für b = 0 findet man a = (−3, 3).
– Für b = −10 findet man a = (−5, −5).
• Es entsteht also der Verdacht dass f surjektiv ist.
– Zu zeigen: ∀b ∈ Z ∃a ∈ Z2 f (a) = b.
– Sei b ∈ Z beliebig aber fest. Zu zeigen: ∃a ∈ Z2 f (a) = b.
– Mit der Wahl a = (0, b) gilt f (a) = b.
Analog geht man vor um von einer gegebenen Funktion f ∈ A → B zu
entscheiden ob sie injektiv ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 91
• Zunächst sucht man sich ein paar Beispiele a ∈ A und berechnet die
zugehörigen Funktionswerte
b = f (a).
Dann versucht man a′ ∈ A mit a 6= a′ zu finden so dass
b = f (a′ )
Gelingt dies, ist f nicht injektiv da es zwei verschiedene a’s gibt, die auf
das selbe b abgebildet werden und wir sind fertig. Andernfalls liegt der
Verdacht nahe, dass f injektiv ist. Ist A endlich, so kann man einfach
für alle a,′ ∈ A mit a 6= a′ prüfen dass f (a) 6= f (a′ ). Falls A unendlich
ist, ist dies nicht machbar.
• Der Beweis, dass f injektiv ist, verläuft wie folgt:
– Zu zeigen:
∀a ∈ A ∀a′ ∈ A a 6= a′ → f (a) 6= f (a′ ).
– Elimination des Allquantors.
Sei a ∈ A und a′ ∈ A beliebig aber fest. Zu zeigen
a 6= a′ → f (a) 6= f (a′ ).
– Oft ist es einfacher, die Formel an dieser Stelle umzuformen. Eine
äquivalente Formel ist
f (a) = f (a′ ) → a = a′ .
– Gegeben f (a) = f (a′ ). Zu zeigen a = a′ .
– An dieser Stelle kann man nicht weiterrechnen ohne die Definition
von f einzusetzen. Man beginnt dann mit der Gleichung f (a) =
f (a′ ) und formt so lang um, bis a = a′ rauskommt.
Beispiel 5.36
Sei f ∈ R → R, f (a) = a2 . Wir wählen das Beispiel
a = 2 und finden den Funktionswert b = f (2) = 4. Man sucht nun ein
a′ ∈ A mit a′ 6= 2 so dass f (a′ ) = 4. In der Tat hat a′ = −2 diese
Eigenschaften. Zu b = 4 gibt’s also zwei verschiedene a’s, nämlich 2
und −2 und damit ist f nicht injektiv.
Beispiel 5.37
f (a) = a2 .
Sei A = {x|x ∈ R, −1 ≤ x ≤ 0} und f ∈ A → R,
Logik und Künstliche Intelligenz
V. Stahl
Seite 92
• Zunächst wieder ein paar Beispiele
– Für b = 1 ist a = −1 das einzige a ∈ A mit f (a) = b.
– Für b = 0 ist a = 0 das einzige a ∈ A mit f (a) = b.
– Für b = 3 oder b = −4 existiert kein a ∈ A mit f (a) = b. Das
macht aber nichts — die Eigenschaft injektiv verlangt ja nur,
dass es nicht mehr als ein a gibt.
• Es entsteht somit der Verdacht, dass f injektiv ist.
– Zu zeigen: ∀a ∈ A ∀a′ ∈ A a 6= a′ → f (a) 6= f (a′ ).
– Sei a ∈ A und a′ ∈ A beliebig aber fest. Zu zeigen a 6= a′ →
f (a) 6= f (a′ ).
– Umformen. Zu zeigen f (a) = f (a′ ) → a = a′ .
– Gegeben f (a) = f (a′ ). Zu zeigen a = a′ .
– Einsetzen der Definition von f : Gegeben
a2 = a′2 .
Durch Wurzelziehen auf beiden Seiten erhält man
|a| = |a′ |.
– Einsetzen der Definition von A in die Annahme a ∈ A und
a′ ∈ A ergibt
a ≤ 0 und a′ ≤ 0.
Daraus folgt
Also
bzw.
|a| = −a und |a′ | = −a′ .
−a = −a′
a = a′ .
5.8
Umkehrfunktion
Hat man eine Funktion f ∈ A → B und ein bestimmtes Element b ∈ B,
so kann man sich fragen, welche Elemente a aus A durch f auf b abgebildet
werden. Dies kann genau ein Element sein, mehrere oder aber gar keins. Von
besonderem Interesse ist natürlich der Fall, wo zu jedem b ∈ B genau ein
a ∈ A existiert, so dass f (a) = b, d.h. wenn f bijektiv ist. In diesem Fall
kann man nämlich eine Funktion g ∈ B → A definieren, die jedem b ∈ B das
entsprechende a ∈ A zuordnet. Diese Funktion nennt man naheliegenderweise
Umkehrfunktion von f .
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 5.38
Seite 93
Sei
f ∈ N0 → N,
f (a) = a + 1.
Offensichtlich gibt es zu jedem b ∈ N genau ein a ∈ N0 mit f (a) = b.
Für ein gegebenes b ∈ N erhält man das zugehörige a ∈ N0 durch
a = b − 1. Diese Zuordnung ist nichts anderes als die Funktion
g ∈ N → N0 ,
g(b) = b − 1.
Stellt man f und g als Tripel dar, wird das Prinzip der Konstruktion
einer Umkehrfunktion klar:
f = N0 , N, {(0, 1), (1, 2), (2, 3), . . .}
g = N, N0 , {(1, 0), (2, 1), (3, 2), . . .}
Es werden lediglich die ersten beiden Komponenten vertauscht und die
Relation in der dritten Komponente wird durch ihre Umkehrrelation
ersetzt.
Im Prinzip kann man zu jeder Funktion
f = (A, B, R)
auf diese Weise das Tripel
g = (B, A, R−1 )
bilden. Was dabei herauskommt ist jedoch nur dann eine Funktion wenn f
bijektiv ist.
Beispiel 5.39
Sei f ∈ Z → N0 mit f (a) = a2 . Somit ist
f = (Z, N0 , R)
= Z, N0 , {. . . (−2, 4), (−1, 1), (0, 0), (1, 1), (2, 4), . . .} .
Vertauscht man die ersten zwei Mengen und geht zur Umkehrrelation
über, erhält man
g = (N0 , Z, R−1 )
= N0 , Z, {. . . (4, −2), (1, −1), (0, 0), (1, 1), (4, 2), . . .} .
Das ist keine Funktion! Die Forderung, dass es zu jedem a ∈ N0 genau
ein b ∈ Z mit aR−1 b gibt, ist nicht erfüllt.
Logik und Künstliche Intelligenz
V. Stahl
Seite 94
• Zu a = 4 ∈ N0 gibt es gleich zwei b’s aus Z (nämlich b = 2 und
b = −2) mit aR−1 b.
• Weiterhin gibt’s z.B. für a = 3 ∈ N0 gar kein b ∈ Z mit aR−1 b.
Theorem 5.40
Ist
f = (A, B, R)
eine bijektive Funktion, dann ist auch
g = (B, A, R−1 )
eine bijektive Funktion.
Beweis.
• Zu zeigen: Für alle A, B, R gilt wenn f = (A, B, R) eine bijektive
Funktion ist, dann ist g = (B, A, R−1 ) eine bijektive Funktion.
• Sei A, B, R beliebig aber fest.
– Gegeben f = (A, B, R) ist eine bijektive Funktion.
– Zu zeigen g = (B, A, R−1 ) ist eine bijektive Funktion.
• Einsetzen der Defintion einer bijektiven Funktion.
– Gegeben:
∀a
| ∈ A ∃!b
{z∈ B aRb}
f ist Funktion
und
∀b
| ∈ B ∃!a
{z∈ A aRb}
f ist bijektiv
und
∀a
∈ B bR−1 a}
| ∈ A ∃!b{z
g ist bijektiv
– Zu zeigen:
−1
∀b
| ∈ B ∃!a{z∈ A bR a}
g ist Funktion
• Einsetzen der Definition von R−1 : Da aRb genau dann wenn bR−1 a,
bleibt zu zeigen
∀b ∈ B ∃!a ∈ A aRb und ∀a ∈ A ∃!b ∈ B aRb.
Vertauscht man die Reihenfolge dieser beiden Formeln, steht genau die Annahme da dass f eine bijektive Funktion ist.
Logik und Künstliche Intelligenz
V. Stahl
Seite 95
Definition 5.41 (Umkehrfunktion)
Die Umkehrfunktion einer bijektiven Funktion f = (A, B, R) ist
die Funktion g = (B, A, R−1 ).
Statt Umkehrfunktion sagt man auch inverse Funktion. Zu einer bijektiven
Funktion sagt man daher auch sie sei invertierbar. In der grafischen Darstellung erhält man die Umkehrfunktion einer bijektiven Funktion einfach indem
man die Pfeile umdreht, siehe Bild 5.11.
A
f ∈A→B
f −1 ∈ B → A
R ⊆ A×B
R−1 ⊆ B × A
B
A
B
Abbildung 5.11: Umkehrfunktion.
Notation 5.42
Die Umkehrfunktion einer bijektiven Funktion f wird mit f −1 bezeichnet.
Invertiert man eine Funktion zweimal, landet man wieder bei der Ausgangsfunktion: Ist f = (A, B, R) dann ist
−1
−1
f −1
= B, A, R−1
= A, B, (R−1 )−1
= (A, B, R)
= f.
Anders ausgedrückt: Ist g Umkehrfunktion von f , dann ist f Umkehrfunktion
von g.
Beispiel 5.43
Die Funktion
f ∈ R → R,
f (a) = a2
ist nicht invertierbar, da f nicht injektiv ist. So ist z.B. f (2) = f (−2).
Eine Umkehrfunktion existiert also deshalb nicht, weil nicht klar ist,
V. Stahl
Logik und Künstliche Intelligenz
Seite 96
ob sie 4 auf 2 oder auf −2 abbilden soll. Außerdem ist f auch nicht
surjektiv, es gibt z.B. kein a welches durch f auf −4 abgebildet würde.
Worauf sollte also die Umkehrfunktion −4 abbilden?
Beispiel 5.44
Durch Einschränkung des Definitions- und Wertebereichs
von Beispiel 5.43 erhält man aber eine umkehrbare Funktion: Sei
R+
0 = {x | x ∈ R, x ≥ 0}
und
2
+
f ∈ R+
0 → R0 , f (x) = x ,
so ist f invertierbar mit der Umkehrfunktion
√
+
g ∈ R+
x.
0 → R0 , g(x) =
Beispiel 5.45
Genauso hätte man im vorigen Beispiel mit
R−
0 = {x | x ∈ R, x ≤ 0}
und
2
+
f ∈ R−
0 → R0 , f (x) = x ,
eine invertierbar Funktion erhalten. Diesmal wäre die Umkehrfunktion
aber
√
−
g ∈ R+
0 → R0 , g(x) = − x.
Beispiel 5.46
Die Nachfolgerfunktion
f ∈ N → N, f (x) = x + 1
ist nicht invertierbar, da sie nicht surjektiv ist: Es gibt kein x ∈ N so
dass f (x) = 1. Durch Erweiterung von Definitions- und Wertebereich
auf Z erhält man jedoch eine invertierbare Funktion
f ∈ Z → Z, f (x) = x + 1.
Beispiel 5.47
Die Funktion
f ∈ [0, π] → [−1, 1], f (x) = sin(x)
ist nicht invertierbar, da z.B. f (π/4) = f (3π/4), siehe Bild 5.12. Verschiebt
man aber den Definitionsbereich um π/2 nach links, so sieht man daß
f ∈ [−π/2, π/2] → [−1, 1], f (x) = sin(x)
Logik und Künstliche Intelligenz
V. Stahl
sin(x)
Seite 97
os(x)
1
1
=2
=2
x
x
1
1
Abbildung 5.12: Sinus- und Cosinusfunktion
invertierbar ist.
Andererseits ist
f ∈ [−π/2, π/2] → [−1, 1], f (x) = cos(x)
nicht invertierbar, da z.B. cos(−π/4) = cos(π/4). Dafür ist aber
f ∈ [0, π] → [−1, 1], f (x) = cos(x)
wieder invertierbar. Dies erklärt, warum für x 6∈ [−π/2, π/2] im allgemeinen
arcsin(sin(x)) 6= x
und für x 6∈ [0, π] im allgemeinen
arccos(cos(x)) 6= x
ist.
5.9
Funktionsterme für Umkehrfunktionen
Häufig werden Funktionen durch die Angabe eines Funktionsterms definiert.
Ein Funktionsterm ist eine Vorschrift, wie man aus einem gegebenen Input
den zugehörigen Output berechnen kann, z.B.
f (x) = 2x + 1.
Um eine Funktion vollständig zu definieren, muss man natürlich noch die
Mengen angeben, die die Funktion aufeinander abbildet — also z.B. f ∈
R → R.
V. Stahl
Logik und Künstliche Intelligenz
Seite 98
Oft stellt sich das Problem, zu einer durch einen Term definierten Funktion
f einen Term für die Umkehrfunktion f −1 zu bestimmen. Hierzu führt man
eine neue Variable y für den Funktionswert von f an der Stelle x ein und
erhält dadurch im obigen Beispiel die Gleichung
y = 2x + 1.
Der Graph von f ist die Menge der Paare (x, y) ∈ R × R, die diese Gleichung
erfüllen.
Für den Input x ist der Funktionswert von f somit y. Bei der Umkehrfunktion
ist jedoch y gegeben und gesucht ist das x, dessen Funktionswert y ist. Ist f
bijektiv, dann existiert genau ein solches x. Um dieses x zu berechnen, muss
die Gleichung so umgeformt werden, dass x nur noch allein auf der linken
Seite auftritt. Im Beispiel erreicht man dies durch Subtraktion mit 1 und
Division durch 2.
x = (y − 1)/2.
Damit hat man auch schon einen Term für die Umkehrfunktion:
f −1 (y) = (y − 1)/2.
Ein etwas schwierigeres Beispiel:
f ∈ R2 → R2 ,
f (x1 , x2 ) = (x1 + x2 , x1 − x2 ).
Auch hier führt man für den Funktionswert von f an der Stelle (x1 , x2 ) eine
neue Variable y ein. Da y ∈ R2 , ist es sinnvoll die Komponenten von y auch
gleich zu benennen. Sei also y = (y1 , y2). Dies führt auf das Gleichungssystem
y1 = x1 + x2
y2 = x1 − x2 .
Bei der Umkehrfunktion stellt sich das Problem, dass y1 und y2 gegeben
sind und zugehörige x1 und x2 gesucht sind. Da es sich hier um ein lineares
Gleichungssystem handelt, ist es einfach einen Term hierfür anzugeben. Mit
dem Gauß Algorithmus erhält man
x1 = (y1 + y2 )/2
x2 = (y1 − y2 )/2.
Folglich ist die Umkehrfunktion
f −1 ∈ R2 → R2 ,
f −1 (y1 , y2) = (y1 + y2 )/2, (y1 − y2 )/2
Logik und Künstliche Intelligenz
V. Stahl
Seite 99
Terme können beliebig kompliziert sein und auch Fallunterscheidungen enthalten, z.B.
x+1
falls x ungerade
f ∈ N → N, f (x) =
x−1
falls x gerade
Um hier zu einem Term für die Umkehrfunktion zu kommen, behandelt man
die Fälle separat.
y = x+1
y = x−1
falls x ungerade
falls x gerade
Auflösen nach x ergibt
x = y−1
x = y+1
falls x ungerade
falls x gerade
Problematisch ist, dass x immer noch auf der rechten Seite in der Fallunterscheidung auftritt. Da x jedoch genau dann gerade ist, wenn y ungerade ist,
erhält man
x = y−1
x = y+1
falls y gerade
falls y ungerade
und damit den Term für die Umkehrfunktion
y − 1 falls y gerade
−1
f (y) =
y + 1 falls y ungerade
Damit sind in diesem Beispiel die Funktionen f und f −1 identisch, d.h. f =
f −1 .
5.10
Kommutativ, assoziativ, distributiv
Definition 5.48 (Kommutativ)
Eine zweistellige Funktion ⊕ ∈ A×A → A heißt kommutativ, wenn
x⊕y =y⊕x
für alle x, y ∈ A.
V. Stahl
Logik und Künstliche Intelligenz
Seite 100
Beispiel 5.49
Die Addition auf den reellen Zahlen ist kommutativ, da
x + y = y + x für alle x, y ∈ R.
Beispiel 5.50
Die Subtraktion auf den reellen Zahlen ist hingegen nicht
kommutativ, da z.B. 2 − 3 6= 3 − 2.
Definition 5.51 (Assoziativ)
Eine zweistellige Funktion ⊕ ∈ A × A → A heißt assoziativ, wenn
(x ⊕ y) ⊕ z = x ⊕ (y ⊕ z).
für alle x, y, z ∈ A.
Beispiel 5.52
Die Addition auf den reellen Zahlen ist assoziativ, da (x+
y) + z = x + (y + z) für alle x, y, z ∈ R.
Beispiel 5.53
Die Subtraktion auf den reellen Zahlen ist nicht assoziativ, da z.B. (6 − 2) − 3) 6= 6 − (2 − 3).
Beispiel 5.54
Das kartesische Produkt × auf Mengen ist nicht assoziativ, da (A × B) × C 6= A × (B × C) für alle A, B, C 6= ∅.
Definition 5.55 (Distributiv)
Seien ⊕, ⊗ zweistellige Funktionen auf A. ⊗ heißt distributiv über
⊕ wenn
x ⊗ (y ⊕ z) = (x ⊗ y) ⊕ (x ⊗ z)
und
(y ⊕ z) ⊗ x = (y ⊗ x) ⊕ (z ⊗ x)
Beispiel 5.56
Die Multiplikation auf den reellen Zahlen ist distributiv
über der Addition auf den reellen Zahlen, denn
x(y + z) = xy + xz und (y + z)x = (yx + zx)
für alle x, y, z ∈ R.
Beispiel 5.57
Die Addition auf den reellen Zahlen ist nicht distributiv
über der Multiplikation auf den reellen Zahlen, denn z.B.
2 + (3 × 5) 6= 2 × 3 + 2 × 5.
Logik und Künstliche Intelligenz
V. Stahl
5.11
Seite 101
Folgen
Funktionen, deren Definitionsbereich die natürlichen Zahlen sind, spielen eine
sehr wichtige Rolle und werden Folgen genannt.
Definition 5.58 (Folge)
Eine Funktion f ∈ A → B heißt
• Folge über B, wenn A = N.
• Folge der Länge n über B, wenn A = {1, 2, . . . , n}.
• Endliche Folge über B, wenn es ein n ∈ N0 gibt, so dass A =
{1, 2, . . . , n}.
Um Schreibaufwand zu sparen kann man auch einfach Folge sagen statt Folge
über B.
Für Folgen ist i.a. eine aufzählende Schreibweise recht praktisch, d.h. wenn
f eine Folge ist und B aus dem Kontext hervorgeht, schreibt man auch
f = hf (1), f (2), f (3), . . . .i
Ist f eine Folge der Länge n, schreibt man
f = hf (1), f (2), . . . , f (n)i.
Die spitzen Klammern, die die Folge umschließen kann man auch weglassen
wenn dadurch keine Unklarheiten entstehen. Ein Spezialfall ist die Folge der
Länge 0, sie wird durch h i bezeichnet.
Definition 5.59 (Menge der Folgen)
Für jede Menge B bezeichnet
• B ∗ die Menge der endlichen Folgen über B
• N → B die Menge der unendlichen Folgen über B.
Definition 5.60 (Konkatenation von endlichen Folgen)
Die Konkatenation conc ∈ B ∗ × B ∗ → B ∗ zweier endlicher Folgen
f = hf1 , f2 , . . . , fn i und g = hg1 , g2 , . . . , gm i ist definiert als
conc(f, g) = hf1 , f2 , . . . , fn , g1 , g2, . . . , gm i.
Logik und Künstliche Intelligenz
V. Stahl
5.12
Seite 102
Abzählbarkeit
Bezüglich ihrer Größe unterscheidet man grundsätzlich zwei Arten von unendlichen Mengen: Solche, deren Elemente man “durchnumerieren” kann,
und solche, die so groß sind, dass dies nicht mehr möglich ist. Im ersten Fall
spricht man von abzählbaren Mengen, im zweiten Fall von überabzählbaren
Mengen.
Abzählbarkeit spielt in der Informatik eine ganz zentrale Rolle. Abzählbare
Mengen kann man im Rechner darstellen, d.h. man kann jedes Element einer
solchen Menge eindeutig durch eine Bitfolge endlicher Länge codieren. Für
überabzählbare Mengen geht dies nicht, d.h. egal auf welche Weise man den
Elementen einer überabzählbaren Menge endliche Bitfolgen zuordnet, wird
es immer zwei Elemente geben, die die selbe Bitfolge bekommen.
Wie wir in diesem Abschnitt sehen werden, ist die Menge der reellen Zahlen überabzählbar. Das ist auch der Grund, weshalb es keine Programmiersprache gibt, die einen Datentyp für reelle Zahlen hat. Stattdessen werden
Gleitkommazahlen wie float und double verwendet, mit denen man jedoch
nur eine endliche Teilmenge der reellen Zahlen darstellen kann, so dass es bei
arithmetischen Operationen zwangsläufig zu Rundungsfehlern kommt.
Andererseits sind N, Z und sogar Q abzählbar. Dieser Umstand wird z.B.
von Computer Algebra Systemen wie Maple genutzt um exakte Arithmetik
mit ganzen oder rationalen Zahlen beliebiger Größe durchzuführen.
Formal lässt sich der Begriff der Abzählbarkeit wie folgt definieren:
Definition 5.61 (Abzählbar)
Eine Menge A heißt abzählbar wenn es eine injektive Funktion
f ∈ A → N gibt.
Eine Menge A ist abzählbar, wenn man jedem ihrer Elemente exklusiv einen
Index aus N zuweisen kann. Das heißt
• jedes Element aus A kriegt einen Index aus N (f ist eine Funktion von
A nach N)
• keine zwei Elemente aus A kriegen den selben Index (f ist injektiv).
Um die Elemente einer abzählbaren Menge im Rechner darzustellen, kann
man z.B. einfach die Indices der Elemente binär codieren.
Beispiel 5.62
Endlichen Mengen sind offensichtlich abzählbar.
Beispiel 5.63
Die Elemente der Menge N lassen sich in trivialer Weise
durchnumerieren: 1 ist das erste Element, 2 das zweite, 3 das dritte,
Logik und Künstliche Intelligenz
V. Stahl
Seite 103
usw. Eine injektive Funktion f ∈ N → N ist also schnell gefunden, z.B.
f (n) = n und somit ist N abzählbar.
Beispiel 5.64
Die Elemente von Z lassen sich auch durchnumerieren:
0 ist das erste Elemente, 1 das zweite, −1 das dritte, 2 das vierte, −2
das fünfte, usw. Allgemein führt das zu der Funktion f ∈ Z → N die
jedem Element x ∈ Z genau einen Index aus N zuordnet:
2x
falls x > 0
f (x) =
−2x + 1 falls x ≤ 0
Da f sogar bijektiv ist, folgt dass Z eine abzählbare Menge ist.
Beispiel 5.65
Auch die Elemente von N2 lassen sich durchnumeriern,
wie in Bild 5.13 gezeigt ist. Hier sind die Elemente (a, b) von N2 als
Punkte in einem zwei dimensionalen Koordinatensystem zusammen mit
deren Durchnumerierung dargestellt.
11
4
3
2
1
f (1, 1) = 1
f (2, 1) = 2
10
12
4
9
13
3
5
8
14
1
2
6
7
1
2
f (1, 2) = 3
f (1, 3) = 4
3
f (2, 2) = 5
f (3, 1) = 6
15
f (4, 1) = 7
..
.
4
Abbildung 5.13: Durchnumerierung von N2
Die gleiche Überlegung kann man auch für das kartesische Produkt von beliebigen abzählbaren Mengen anstellen.
Theorem 5.66
Sind A, B abzählbare Mengen, dann auch A × B.
Beweis. Seien A und B abzählbare Mengen. Zu zeigen ist, dass eine injektive Funktion h ∈ A × B → N existiert. Aus der Annahme folgt, dass
V. Stahl
Logik und Künstliche Intelligenz
Seite 104
es injektive Funktionen fA ∈ A → N und fB ∈ B → N gibt. Damit ist
f ∈ A × B → N × N mit
f (a, b) = (fA (a), fB (b))
injektiv. Da weiterhin N2 abzählbar ist, existiert eine injektive Funktion
g ∈ N2 → N. Somit ist h ∈ A × B → N mit
h(a, b) = g(f (a, b))
injektiv, da die Komposition injektiver Funktionen injektiv ist, siehe
Bild 5.14
A×B
f
injektiv
N×N
g
N
injektiv
g◦f
injektiv
Abbildung 5.14: Konstruktion einer injektiven Funktion h ∈ A × B → N
Folglich sind auch
N3 = N2 × N
N4 = N3 × N
..
.
und allgemein Nn für beliebiges n ∈ N abzählbare Mengen. Da sich die Menge
Q der rationalen Zahlen injektiv auf die abzählbare Menge Z × N abbilden
lässt (man zerlegt die rationale Zahl einfach in ihren ganzzahligen Zähler und
ihren natürlichzahligen Nenner), ist somit auch Q abzählbar.
Beispiel 5.67
Man kann sogar zeigen, dass die Menge N∗ aller beliebig
(aber endlich) langer Folgen von natürlichen Zahlen abzählbar ist. Den
Beweis könnte man ähnlich wie im vorigen Beispiel anstellen, man kann
es aber auch ganz anders machen und direkt eine injektive Funktion
f ∈ N∗ → N hinschreiben:
f (hx1 , x2 , . . . , xn i) = 2x1 3x2 5x3 7x4 · · · πnxn
Hierbei ist πn die n-te Primzahl. Somit ist z.B.
f (h1, 1, 3i) = 21 31 53 = 750
f (h4i) = 24 = 16
f (h i) = 1
Logik und Künstliche Intelligenz
V. Stahl
Seite 105
Dass diese Funktion injektiv ist, folgt aus der Tatsache dass jede natürliche Zahl eine eindeutige Primfaktorzerlegung hat. Es kann also nicht
passieren, dass f aus zwei unterschiedlichen endlichen Folgen die selbe
Zahl generiert.
Nachdem wir immer “größere” abzählbare Mengen erzeugt haben, ist nun
die Grenze zu überabzählbaren Mengen erreicht. Ein erstes Beispiel ist die
Menge
A = N → {0, 1}.
Jedes Element von A ist eine 0/1 Folge unendlicher Länge. Diese Menge
ist nicht zu verwechseln mit der abzählbaren Menge {0, 1}∗, deren Elemente
endliche 0/1 Folgen sind. Der Beweis dass A überabzählar ist, wird durch Widerspruch geführt. Man nimmt also an, dass A abzählbar ist, d.h. es existiert
eine injektive Funktin f ∈ A → N. Somit wird jeder 0/1 Folge eine eindeutige Nummer zugeordnet. Man kann damit die 0/1 Folgen nach aufsteigender
Nummer sortieren und in einer Tabelle anordnen.
Erste Folge
Zweite Folge
Dritte Folge
...
f1 = h1, 1, 0, 0, 1, 1, . . .i
f2 = h0, 1, 1, 0, 0, 1, . . .i
f3 = h0, 0, 0, 1, 1, 0, . . .i
...
Jede unendlich lange 0/1 Folge müsste somit irgendwo in dieser Tabelle auftreten, d.h. für jede Folge f ∈ A existiert ein n ∈ N so dass f = fn . Anhand
dieser Tabelle wird nun eine Folge fˆ ∈ A konstruiert durch
fˆ(i) = 1 − fi (i),
Im Beispiel ist somit
i = 1, 2, . . .
fˆ(i) = h0, 0, 1, . . . , i.
Somit unterscheidet sich fˆ von jeder Folge fi in der Tabelle weil
ˆ 6= fi (i) für alle i.
f(i)
Daher ist fˆ nicht in der Tabelle, was im Widerspruch zur Behauptung steht,
dass jede unendliche 0/1 Folge in der Tabelle ist.
Theorem 5.68 (Abzählbarkeit von Teilmengen)
Ist A abzählbar und B ⊆ A, so ist auch B abzählbar.
Ist A überabzählbar und B ⊇ A, so ist auch B überabzählbar.
V. Stahl
Logik und Künstliche Intelligenz
Seite 106
Beweis. Der zweite Teil folgt aus dem ersten durch aussagenlogische Umformung. Der Beweis des ersten Teils ist wie folgt. Angenommen A ist
abzählbar und B ⊆ A. Dann existiert eine injektive Funktion f ∈ A →
N. Somit ist auch g ∈ B → N mit g(x) = f (x) für alle x ∈ B injektiv
und daher B abzählbar. Theorem 5.69
R ist überabzählbar.
Beweis. Laut Theorem 5.68 genügt es zu zeigen, dass das Intervall [0, 1)
überabzählbar ist. Jede reelle Zahl aus diesem Intervall entspricht einer
unendlich langen Folge von (Nachkomma-) Ziffern. Der Rest des Beweises kann damit gleich geführt werden wie der Beweis der Überabzählbarkeit von N → {0, 1}.
Es ist somit unmöglich jeder reellen Zahl eine eindeutige natürliche Zahl
zuzuordnen, d.h. auf eine Weise dass keine zwei unterscheidlichen reellen
Zahlen die selbe natürliche Zahl bekommen. Ebenso wenig ist es möglich,
jeder reellen Zahl eine eindeutige endlich lange Bitfolge zuzuordnen. Genau
das müsste man aber tun um reelle Zahlen im Rechner darzustellen. Es ist
noch nicht einmal möglich, alle reellen Zahlen zu benennen, d.h. jeder reellen Zahl einen eindeutigen Namen (z.B. endliche Folge von Buchstaben)
zuzuordnen. All dies ist für abzählbare Mengen möglich und wird in einigen Programmiersprachen auch tatsächlich gemacht. So kann man z.B. in
Maple eine beliebig große rationale Zahl eintippen, die dann intern durch
eine endlich lange Bitfolge codiert wird. Im Maple Laufzeitsystem muss also
eine Funktion implementiert sein, die jeder rationalen Zahl eine eindeutige
endlich lange Bitfolge zuweist.
Bemerkung. In manchen Büchern wird definiert, dass A abzählbar ist,
wenn es eine bijektive Funktion f ∈ A → N gibt. Demnach wären
endliche Mengen nicht abzählbar. Für uns Informatiker steht Abzählbarkeit aber für Codierbarkeit, so dass wir bei Definition 5.61 bleiben.
Das folgende Theorem zeigt, dass die beiden Definitionen im Kern das
Selbe ausdrücken.
Theorem 5.70
Eine Menge A ist abzählbar, wenn sie entweder endlich ist oder es
eine bijektive Funktion f ∈ A → N gibt.
Logik und Künstliche Intelligenz
V. Stahl
6
Seite 107
Aussagenlogik
6.1
Boolesche Funktionen
Wenn man sich mit Wissen beschäftigt, spielt Wahrheit eine große Rolle.
Wahrheit ist immer an Aussagen gebunden, die entweder wahr oder falsch
sind. Diese beiden Wahrheitswerte bilden eine Menge
W = {0, 1}
wobei 0 für “falsch” und 1 für “wahr” steht.
Ähnlich wie es auf natürlichen Zahlen Funktionen gibt wie + (“plus”),
− (“minus”), × (“mal”) , gibt es auch Funktionen auf Wahrheitswerten, die
mit
∧ “und”,
∨ “oder”,
¬ “nicht”,
→ “wenn dann”,
↔ “genau dann wenn”
bezeichnet werden. Diese Funktionen heißen Boolesche Funktionen. Da es nur
zwei Wahrheitswerte gibt, lassen sie sich einfach durch eine Tabelle definieren:
x y
0 0
0 1
1 0
1 1
x∧y
0
0
0
1
x∨y
0
1
1
1
x→y
1
1
0
1
x↔y
1
0
0
1
x
0
1
¬x
1
0
Tabelle 6.1: Boolesche Funktionen
Die ¬ Funktion ist einstellig, d.h. hat nur ein Argument, alle anderen sind
zweistellig. Die Funktionen lassen sich leicht einprägen. Die ∧ , ∨ und ¬
Funktionen entsprechen ziemlich genau ihrem Namen. Wie man aus Tabelle
6.1 entnimmt, ist
• x ∧ y genau dann wahr, wenn x wahr ist und y wahr ist
• x ∨ y genau dann wahr, wenn x wahr ist oder y wahr ist
V. Stahl
Logik und Künstliche Intelligenz
Seite 108
• ¬x genau dann wahr, wenn x nicht wahr ist.
Die → Funktion ist nicht ganz so intuitiv. Merken Sie sich am einfachsten
• x → y ist immer wahr, außern wenn die Bedingung x erfüllt ist, die
Konsequenz y aber nicht eintritt.
Die ↔ Funktion ist wieder leichter:
• x ↔ y ist genau dann wahr, wenn x und y gleich sind.
Gerade die → Funktion spielt eine wichtige Rolle beim automatischen Schlussfolgern. Angenommen wir haben zwei Aussagen mit Wahrheitswerten x und y,
von denen bekannt ist, dass
x = 1 und x → y = 1.
Durch Vergleich mit Tabelle 6.1 folgt, dass
y = 1.
Diese einfache Schlussfolgerungsregel heißt “Modus Ponens”. Erstaunlicherweise lassen sich fast alle noch so geniale logische Denkvorgänge auf solche
einfachen, elementaren Denkschritte zurückführen.
Beispiel 6.1
Wenn Sie Ihre Hausaufgaben gewissenhaft machen, werden
Sie die Prüfung bestehen. (Solche unumstößlichen Wahrheiten nennt
man auch Axiome, die daraus abgeleiteten Schlussfolgerungen sind die
Theoreme.) Angenommen Sie stehen nun vor der Prüfung und haben während des Semesters Ihre Hausaufgaben immer gewissenhaft
gemacht. Dann können Sie sich völlig entspannt an die Arbeit machen, denn die reine Logik garantiert Ihnen, dass Sie nicht durchfallen
werden.
Beispiel 6.2
An dieser Stelle gleich einen Hinweis auf den vermutlich
beliebtesten logischen Denkfehler. Angenommen Sie haben Ihre Hausaufgaben nicht gemacht, mit Glück und etwas Hilfe Ihres Nebensitzers
bestehen Sie aber trotzdem. Ist damit die Logik widerlegt? Nein, denn
selbst wenn
x = 0 und x → y = 1
ist es trotzdem möglich, dass auch
y=1
Logik und Künstliche Intelligenz
V. Stahl
Seite 109
ist. Dies ist der Fall in der zweiten Zeile in Tabelle 6.1. Was hingegen
ausgeschlossen ist, ist
x = 1,
x → y = 1 und y = 0.
Gehen Sie also lieber auf Nummer sicher und machen Ihre Hausaufgaben...
6.2
Rechengesetze für Boolesche Funktionen
Auf natürlichen Zahlen gibt es eine ganze Menge von Rechenregeln, z.B.
x + y = y + x,
x(y + z) = xy + xz,
usw.
Analog haben auch die Booleschen Funktionen einiges zu bieten, siehe Tabelle
6.2.
Man kann sich sehr leicht davon überzeugen, dass diese Rechenregeln stimmen. Da es nur zwei Wahrheitswerte gibt, kann man sämtliche Fälle in einer
Tabelle durchprobieren. Der Beweis von
x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z)
sieht dann wie folgt aus:
x y
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
z
0
1
0
1
0
1
0
1
x ∧ (y ∨ z)
0
0
0
0
0
1
1
1
(x ∧ y) ∨ (x ∧ z)
0
0
0
0
0
1
1
1
Die letzten beiden Spalten sind gleich, d.h. für alle möglichen Wahrheitswerte
von x, y, z ist der Wert von x ∧ (y ∨ z) gleich dem von (x ∧ y) ∨ (x ∧ z). Das
Distributivgesetz für natürliche Zahlen lässt sich auf diese Weise natürlich
nicht beweisen, da man unendlich viele Fälle durchprobieren müsste. Sie
sehen, wenn man’s mit endlichen Mengen zu tun hat, sind die Dinge schon
sehr einfach. Die Beweise der Rechengesetze Boolescher Funktionen könnte
sogar eine Maschine mühelos durchführen.
Logik und Künstliche Intelligenz
V. Stahl
Seite 110
Für alle x, y, z ∈ {0, 1} gilt
x∧y = y∧x
x∨y = y∨x
(x ∧ y) ∧ z = x ∧ (y ∧ z)
(x ∨ y) ∨ z = x ∨ (y ∨ z)
x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z)
x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z)
Kommutativität von ∧
Kommutativität von ∨
Assoziativität von ∧
Assoziativität von ∨
Distributivität von ∧ über ∨
Distributivität von ∨ über ∧
x∧x = x
x∨x = x
Idempotenz von ∧
Idempotenz von ∨
x ∧ (¬x) = 0
x ∨ (¬x) = 1
Unerfüllbarkeit
Tautologie
x∧1
x∧0
x∨0
x∨1
=
=
=
=
x
0
x
1
Neutrales Element von ∧
Neutrales Element von ∨
x ∧ (x ∨ y) = x
x ∨ (x ∧ y) = x
Absorption
¬¬x = x
Doppelnegation
¬(x ∧ y) = (¬x) ∨ (¬y)
¬(x ∨ y) = (¬x) ∧ (¬y)
x → y = (¬x) ∨ y
x ↔ y = (x → y) ∧ (y → x)
de Morgan’sche Regeln
Ersetzen von →
Ersetzen von ↔
Tabelle 6.2: Rechenregeln für Boolesche Funktionen.
V. Stahl
6.3
Logik und Künstliche Intelligenz
Seite 111
Formeln der Aussagenlogik
Im letzten Abschnitt sind wir auf Ausdrücke wie z.B.
x ∧ (y ∨ z)
gestoßen. Wenn man genau hinschaut erkennt man, dass es sich hierbei um
nichts anderes als eine Zeichenkette handelt. Diese besteht aus Variablensymbolen x, y, z, Klammern sowie Symbolen für Boolesche Funktionen ∧
und ∨. Solche Zeichenketten nennen wir aussagenlogische Formeln. Wenn
man komplexe Formeln aufbauen möchte, braucht man hinreichend viele Variablensymbole. Damit uns diese nicht irgendwann ausgehen, verwenden wir
nicht mehr x, y, z sondern gönnen uns gleich unendlich viele Variablensymbole x1 , x2 , x3 , . . .. (Da Formeln endlich lang sind, werden in einer Formel aber
immer nur endlich viele davon auftreten.)
Definition 6.3 Aussagenlogische Formel.
Eine aussagenlogische Formel ist eine Zeichenkette, die sich auf folgende Weise in endlich vielen Schritten konstruieren lässt:
• Die Symbole 0 und 1 sind Formeln.
• Jedes Variablensymbol x1 , x2 , . . . ist eine Formel.
• Ist F eine Formel, dann auch ¬F
• Sind F und G Formeln, dann auch
(F ∧ G), (F ∨ G), (F → G) und (F ↔ G).
Beispiele für Formeln sind
0
x3
(x5 ∧ x1 )
¬¬((x1 → x2 ) → x3 )
während
x5 ¬x4
x1 → x2
keine Formeln sind. (Im letzten Fall fehlten lediglich die Klammern.)
Besonders geschickt an dieser Definition ist, dass sich jede Formel auf
genau eine Weise durch einen Syntaxbaum konstruieren lässt. Um dies zu
Logik und Künstliche Intelligenz
V. Stahl
Seite 112
erreichen waren die Klammern erforderlich. Ohne Klammern könnte man
z.B. die Formel
¬x1 → x2
auf zwei unterschiedliche Weisen konstruieren, siehe Bild 6.1. Dies würde
später zu Problemen führen, wenn man einer Formel wieder eine Bedeutung
zuordnen möchte und dann nicht weiss, ob sie als
(¬x1 ) → x2
(linker Syntaxbaum in Bild 6.1)
¬(x1 → x2 )
(rechter Syntaxbaum in Bild 6.1)
oder
zu interpretieren ist.
¬x1 → x2
¬x1 → x2
¬x1
x1
x1 → x2
x2
x1
x2
Abbildung 6.1: Unterschiedliche Syntaxbäume für ¬x1 → x2
Offensichtlich gilt
x1 6= ¬¬x1 ,
denn die Zeichenkette auf der linken Seite hat noch nicht einmal die selbe
Länge wie die auf der rechten Seite. Andererseits — interpretiert man x1 als
Variable für einen Wahrheitswert und ¬ als Boolesche Funktion, dann ist
x1 = ¬¬x1
für jeden Wert von x1 . Es ist also wichtig, zwischen Zeichenketten und deren
mögliche Bedeutung als Boolesche Funktionen zu unterscheiden!
6.4
Semantik der Aussagenlogik
Nachdem nun klar ist, mit welchen Formeln (Zeichenketten) gespielt wird,
soll diesen Zeichenketten eine Bedeutung gegeben werden. Die Bedeutung
Logik und Künstliche Intelligenz
V. Stahl
Seite 113
einer Zeichenkette nennt man ihre Interpretation. Wie zu erwarten leitet
sich diese unmittelbar aus den Booleschen Funktionen ab. Die Formel
(x3 → x1 ) → ¬x2
kann als Funktion
f ∈ W 3 → W,
f (x1 , x2 , x3 ) = (x3 → x1 ) → ¬x2
interpretiert werden, die drei Wahrheitswerten für x1 , x2 , x3 einen Wahrheitswert nach den Rechenregeln der Booleschen Funktionen zuordnet. Genausogut könnte man sie jedoch auch als vierstellige Funktion
f ∈ W 4 → W,
f (x1 , x2 , x3 , x4 ) = (x3 → x1 ) → ¬x2
interpretieren, die eben konstant in ihrem vierten Argument ist. Um die
Bedeutung einer Formel eindeutig zu machen und für alle Fälle gewappnet
zu sein, greift man zu einem Trick — man interpretiert eine Formel immer
als “unendlich-stellige” Funktion. Diese Idee wird nun etwas konkretisiert.
Eine Zuordnung von Wahrheitswerten zu den Variablensymbolen x1 , x2 , x3 , . . .
nennt man Belegung. Stellen Sie sich eine Belegung b einfach als unendlich
lange Folge von Nullen und Einsen vor, d.h.
b = b1 , b2 , b3 , . . .
wobei jedes bi entweder Null oder Eins ist und dem Variablensymbol xi der
Wahrheitswert bi zugeordnet wird. Beispiele für Belegungen sind
0, 0, 0, 0, . . .
1, 1, 1, 1, . . .
0, 1, 0, 1, . . .
und es gibt natürlich unendlich viele weitere. Sei im Folgenden B die Menge
aller Belegungen, d.h. die Menge aller unendlich langer 0, 1-Folgen. Dann
kann eine Formel in naheligender Weise als Funktion
f ∈ B → {0, 1}
interpretiert werden, die jeder Belegung einen Wahrheitswert zuordnet.
Beispiel 6.4
Die Formel
(x3 → ¬x2 )
Logik und Künstliche Intelligenz
V. Stahl
Seite 114
kann als Funktion
f ∈ B → {0, 1},
f (b) = b3 → ¬b2
interpretiert werden. So ist z.B.
f (0, 0, 0, 0, . . .) = 1
f (1, 1, 1, 1, . . .) = 0
f (1, 0, 1, 0, . . .) = 1.
Da in einer Formel immer nur endlich viele Variablensymbole vorkommen,
sind auch nur endlich viele Stellen der Belegung bei der Berechnung des
Wahrheitswerts relevant. Die Bedeutung (oder Interpretation) einer Formel
F als Funktion wird im Folgenden mit F ′ bezeichnet. Wem die obige informelle Beschreibung nicht genügt, mag sich an folgender exakter Definition
die Zähne ausbeißen:
Definition 6.5 Interpretation.
Sei B die Menge aller Belegungen und F eine Formel. Die Interpretation F ′ von F ist eine Funktion
F ′ ∈ B → {0, 1},
die jeder Belegung b ∈ B wie folgt einen Wahrheitswert zuordnet:
• Ist F = 0 bzw. F = 1, dann ist F ′ die konstante Null- bzw.
Einsfunktion, d.h. F ′ (b) = 0 bzw. F ′ (b) = 1.
• Ist F = xi für ein Variablensymbol, dann ist F ′ (b) = bi .
• Ist F = ¬G für eine Formel G, dann ist F ′ (b) = ¬G′ (b).
• Ist
F = (G ∧ H)
für bestimmte Formeln G, H, dann ist
F ′ (b) = G′ (b) ∧ H ′ (b).
(Analog für ∨, →, ↔.)
Beispiel 6.6
Sei F = x1 und G = ¬¬x1 . Dann gilt
F 6= G.
V. Stahl
Logik und Künstliche Intelligenz
Seite 115
Andererseits gilt für jede Belegung b
F ′ (b) = G′ (b),
d.h. F ′ und G′ sind identische Funktionen und somit
F ′ = G′ .
Definition 6.7 Äquivalente Formeln.
Zwei Formeln F und G heißen äquivalent, wenn F ′ = G′ . Man
schreibt dann F ≡ G.
Beispiel 6.8
dass
Anhand einer Wahrheitstabelle lässt sich leicht verifizieren,
(x1 → x2 ) ≡ (¬x2 → ¬x1 ).
Anwenden von Rechenregeln wie in Tabelle 6.2 bedeutet somit nichts anderes,
als Formeln äquivalent umzuformen. Halten wir also abschließend fest:
• Das Symbol “=” wird verwendet, um die syntaktische Gleichheit von
Formeln auszudrücken, d.h. deren Gleichheit als Zeichenketten.
• Das Symbol “≡” wird verwendet, um die semantische Gleichheit von
Formeln auszudrücken, d.h. deren Gleichheit wenn man sie als Funktionen interpretiert.
Wenn F = G, dann gilt auch F ≡ G, andersherum muss dies aber nicht der
Fall sein. So ist z.B.
x1 → x2 ≡ ¬x2 → x1
aber
x1 → x2 6= ¬x2 → x1 .
Es ist also ganz essentiell wichtig, zwischen einer Formel als Zeichenkette und
ihrer Interpretation als Funktion zu unterscheiden!
6.5
Syntaktische Vereinfachungen
Aufgrund des Assoziativgesetzes für ∧ gilt
(F ∧ G) ∧ H ≡ F ∧ (G ∧ H)
V. Stahl
Logik und Künstliche Intelligenz
Seite 116
wobei F, G, H beliebige aussagenlogische Formeln sind. Bei Ketten von mit
∧ verknüpften Formeln ändert die Position der Klammern somit nichts an
der Bedeutung. Wenn man sich also nur für die Semantik interessiert, kann
man die Klammern einfach weglassen und nur
F ∧G∧H
schreiben. Gleiches gilt natürlich auch für Ketten von ∨-verknüpften Formeln.
Um die Notation noch etwas zu vereinfachen, werden Klammern ganz außen
um eine Formel weggelassen. Statt
(x1 ∨ x2 )
schreiben wir also einfach
x1 ∨ x2 .
6.6
Konjunktive Normalform
In Kapitel 6.4 wurde gezeigt, dass es unterschiedliche Formeln mit der selben
Bedeutung gibt. Diesem Phänomen begegnet man immer, wenn man sich
zwischen Syntax und Semantik bewegt. So sind z.B. die beiden Zeichenketten
3/4 und 6/8
syntaktisch verschieden, bedeuten jedoch das selbe wenn man sie als rationale
Zahlen interpretiert. In der Regel sucht man dann nach der kürzesten oder
einfachsten Zeichenkette mit der selben Semantik — im Fall von Brüchen
findet man diese indem man so weit wie möglich kürzt. Man nennt diese
Zeichenkette dann Normalform.
Für aussagenlogische Formeln gibt es mehrere Normalformen, besonders
wichtig für uns ist die konjunktive Normalform. Zunächst ein paar Beispiele
für Formeln in konjunktiver Normalform — wir schenken uns dabei überflüssige Klammern.
(x1 ∨ x3 ) ∧ (x2 ∨ x1 ) ∧ (x4 ∨ x2 )
¬x1 ∧ (x2 ∨ x3 ) ∧ ¬x2
(x1 ∨ ¬x2 ) ∧ ¬x3 ∧ (x2 ∨ ¬x4 ∨ ¬x1 )
Folgendes fällt hierbei auf:
• Es treten keine → und ↔ Symbole auf.
Logik und Künstliche Intelligenz
V. Stahl
Seite 117
• Die Negationssymbole stehen immer direkt vor den Variablensymbolen.
Unter einem Literal versteht man ein Variablensymbol xi oder dessen
Negation ¬xi .
• In der Formel sind Literale mit ∨ verknüpft. Die ∨-verknüpften Pakete
werden dann mit ∧ zusammengefasst.
Der Aufbau einer Formel in konjunktiver Normalform ist schematisch als
Syntaxbaum in Bild 6.2 dargestellt.
∧
∨
···
∨
···
∨
···
···
Literale xi , ¬xi
Abbildung 6.2: Syntaxbaum einer Formel in konjunktiver Normalform
Theorem 6.9 (Konjunktive Normalform)
Zu jeder Formel F gibt es eine äquivalente Formel G in konjunktiver
Normalform.
Wie kann man also eine gegebene Formel auf konjunktive Normalform bringen? Hierzu bietet sich folgendes Verfahren an:
• Zunächst eliminiert man ↔ und → mittels der Äquivalenzen
F ↔G
≡
(F → G) ∧ (G → F )
F → G ≡ ¬F ∨ G
• Mit den Äquivalenzen
¬(F ∨ G) ≡ ¬F ∧ ¬G
¬(F ∧ G) ≡ ¬F ∨ ¬G
kann man die Negationssymbole direkt an die Variablensymbolen bringen. Zwei direkt aufeinanderfolgende Negationssymbole können gestrichen werden.
Logik und Künstliche Intelligenz
V. Stahl
Seite 118
• Zum Schluss wendet man die Äquivalenzen
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨ H)
(F ∧ G) ∨ H ≡ (F ∨ H) ∧ (G ∨ H)
so oft an, bis die Formel in konjunktiver Normalform ist.
Beispiel 6.10
Die Formel
¬(x1 ↔ x2 )
soll auf konjunktive Normalform transformiert werden.
• Zunächst wird ↔ eliminert.
¬ (x1 → x2 ) ∧ (x2 → x1 )
¬ (¬x1 ∨ x2 ) ∧ (¬x2 ∨ x1 )
• Mit Hilfe der de Morgan’schen Gesetze werden nun die Negationssymbole zu den Variablensymbolen gebracht. Doppelte Negationen werden gelöscht.
¬ (¬x1 ∨ x2 ) ∨ ¬ (¬x2 ∨ x1 )
(x1 ∧ ¬x2 ) ∨ (x2 ∧ ¬x1 )
• Zum Schluss wird das Distributivgesetz verwendet um ∧ nach außen zu bringen.
(x1 ∧ ¬x2 ) ∨ x2 ∧ (x1 ∧ ¬x2 ) ∨ ¬x1
(x1 ∨ x2 ) ∧ (¬x2 ∨ x2 ) ∧ (x1 ∨ ¬x1 ) ∧ (¬x2 ∨ ¬x1 )
Damit hat man konjunktive Normalform erreicht.
Da die beiden Teilformeln (¬x2 ∨ x2 ) und (x1 ∨ ¬x1 ) in jeder Belegung
wahr sind, kann man sie aus der ∧-Verknüpfung streichen und erhält
(x1 ∨ x2 ) ∧ (¬x2 ∨ ¬x1 ).
Mit Hilfe einer Wertetabelle kann man leicht verifizieren, dass tatsächlich
¬(x1 ↔ x2 ) ≡ (x1 ∨ x2 ) ∧ (¬x2 ∨ ¬x1 ),
wobei die rechte Seite in konjunktiver Normalform ist.
Manchmal kann man sich etwas Rechenaufwand sparen, wenn man die verallgemeinerten Distributivgesetze verwendet:
F ∨ (G1 ∧ G2 ∧ . . . ∧ Gn ) ≡ (F ∨ G1 ) ∧ (F ∨ G2 ) ∧ . . . ∧ (F ∨ Gn )
(F1 ∧ F2 ∧ . . . ∧ Fn ) ∨ G ≡ (F1 ∨ G) ∧ (F2 ∨ G) ∧ . . . ∧ (Fn ∨ G)
V. Stahl
6.7
Logik und Künstliche Intelligenz
Seite 119
Tautologien
Kein Witz — besonders interessant für uns sind die absolut trivialen Formeln, d.h. Formeln die für jede Belegung wahr sind. Beispiele für solche
Trivialitäten sind
x3 ∨ ¬x3
1
¬0
0 → x2
x5 → 1
x1 → (x2 → x1 )
Solche Formeln nennt man Tautologien.
Definition 6.11 Tautologie.
Eine Formeln F heisst Tautologie, wenn
F ≡ 1,
d.h. F ′ (b) = 1 für jede Belegung b.
6.8
Logische Schlussfolgerungen
“Worin besteht das Geheimnis Ihres langen Lebens?” wurde ein 100-jähriger
gefragt. “Ich halte mich an strenge Diätregeln:
• Wenn ich kein Bier zu einer Mahlzeit trinke, dann habe ich immer
Fisch.
• Immer wenn ich Fisch und Bier zur selben Mahlzeit habe, verzichte ich
auf Eiscreme.
• Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht
an.“
Versuchen Sie mal, sich an diese Diät zu halten — und Sie werden feststellen, dass Sie zu jedem Essen Bier trinken müssen! Anders ausgedrückt: Die
Aussage
• Ich trinke zu jedem Essen Bier.
Logik und Künstliche Intelligenz
V. Stahl
Seite 120
ist eine logische Folgerung aus den o.g. drei Aussagen: Wenn die ersten drei
Aussagen wahr sind, dann muss auch die vierte wahr sein.
Logische Folgerungen dieser Art können auch Maschinen ziehen wenn
man die Aussagen formal darstellt. Man kann die Aussagen auf drei Kernaussagen reduzieren, die über Boolesche Funktionen miteinander verknüpft
sind:
• Ich trinke Bier.
• Ich esse Fisch.
• Ich esse Eiscreme.
Bezeichnen wir die Wahrheitswerte dieser drei Aussagen mit den Variablen
x1 , x2 und x3 . Die Diätregeln entsprechen dann folgenden Booleschen Gleichungen:
¬x1 → x2 = 1
(x2 ∧ x1 ) → ¬x3 = 1
(x3 ∨ ¬x1 ) → ¬x2 = 1
Durch diese Gleichungen werden die Wahrheitswerte von x1 , x2 , x3 eingeschränkt. Da es insgesamt nur 8 Möglichkeiten gibt, können wir alle durchprobieren und dann die aussuchen, in denen alle Gleichungen erfüllt sind.
x1
0
0
0
0
1
1
1
1
x2
0
0
1
1
0
0
1
1
x3
0
1
0
1
0
1
0
1
¬x1 → x2
0
0
1
1
1
1
1
1
(x2 ∧ x1 ) → ¬x3
1
1
1
1
1
1
1
0
(x3 ∨ ¬x1 ) → ¬x2
1
1
0
0
1
1
1
0
Aus der Tabelle erkennt man, dass nur dann alle drei Gleichungen erfüllt
sind, wenn x1 = 1. Ziehen wir das ganze nun auf die syntaktische Ebene,
damit wir die Rechner ins Spiel bringen können.
Logik und Künstliche Intelligenz
V. Stahl
Seite 121
Definition 6.12 Logische Folgerung.
Eine Formel F folgt logisch aus Formeln G1 , G2 , . . . , Gn , wenn für
jede Belegung b, für die
G′1 (b) = 1, G′2 (b) = 1, . . . , G′n (b) = 1
gilt, auch
F ′ (b) = 1
gilt.
Formal nicht ganz exakt aber leichter zu merken: F folgt logisch aus G1 , G2 , . . . , Gn
wenn F in jeder Belegung wahr ist, in der alle G1 , G2 , . . . , Gn wahr sind. Man
schreibt in diesem Fall
{G1 , G2 , . . . , Gn } |= F.
Beispiel 6.13
Aus obigem Beispiel entnimmt man
{¬x1 → x2 , x2 ∧ x1 ) → ¬x3 , (x3 ∨ ¬x1 ) → ¬x2 } |= x1
{¬x1 → x2 , x2 ∧ x1 ) → ¬x3 , (x3 ∨ ¬x1 ) → ¬x2 } |= ¬(x2 ∧ x3 )
Beispiel 6.14
Eine Formel F ist genau dann eine Tautologie, wenn sie
in jeder Belegung wahr ist. Da die Formel 1 in jeder Belegung wahr ist,
kann man durch
1 |= F
ausdrücken, dass F eine Tautologie ist. Man schreibt dann auch kürzer
|= F.
Einen zentralen Zusammenhang zwischen Tautologien und logischem Schließen stellt folgendes Theorem her:
Theorem 6.15
F folgt logisch aus G1 , G2 , . . . Gn genau dann wenn
G1 ∧ G2 ∧ . . . ∧ Gn → F
eine Tautologie ist.
V. Stahl
Logik und Künstliche Intelligenz
Seite 122
Kürzer ausgedrückt:
{G1 , G2 , . . . , Gn } |= F
genau dann wenn
|= G1 ∧ G2 ∧ . . . ∧ Gn → F.
Als Spezialfall dieses Theorems gilt: F folgt logisch aus G genau dann wenn
G → F eine Tautologie ist. Diese Eigenschaft rechtfertigt, dass man das →
Symbol als “wenn–dann” Pfeil bezeichnet.
Logik und Künstliche Intelligenz
V. Stahl
7
Seite 123
Prädikatenlogik
7.1
7.1.1
Syntax der Prädikatenlogik
Terme, atomare Formeln, Formeln
Die Sprache der Prädikatenlogik (oder Logik erster Ordnung) ist — wie jede
Sprache — eine Menge von Zeichenketten. Um die Sprache zu definieren,
muss man also zunächst festlegen aus welchen Symbolen die Zeichenketten
bestehen. Als nächstes wird festgelegt, welche dieser Zeichenketten Elemente der Sprache sind und welche nicht. Die Zeichenketten, die zur Sprache
gehören heißen wohlgeformte Formeln (oder kurz Formeln). Doch zunächst
zu den Symbolen.
Man hat beliebig viele Variablensymbole – genau genommen abzählbar unendlich viele. Weiterhin hat man endlich viele Konstantensymbole,
Funktionssymbole und Relationssymbole. Hinzu kommen noch Symbole der
Aussagenlogik (∧, ∨, ¬, →, ↔), Klammern, Kommas und Quantoren (∀, ∃).
Es gibt somit nicht die Sprache der Logik. Je nach dem welche Variablensymbole, Konstantensymbole, Funktionssymbole und Relationssymbole
man ins Spiel nimmt, erhält man eine andere Sprache, d.h. andere Mengen
von Termen und Formeln. Wir nehmen also an, dass eine feste Auswahl an
Symbolen getroffen wurde, z.B.
• Variablensymbole: x, y, z, x1 , x2 , x3 , . . ..
• Konstantensymbole: c, d.
• Funktionssymbole: f, g, h wobei f einstellig und g, h zweistellig sind.
• Relationssymbole: P, Q wobei P einstellig und Q zweistellig ist.
Aus den Variablen-, Konstanten-, und Funktionssymbolen kann man wie folgt
Terme zusammenbauen.
Definition 7.1 (Term)
• Jedes Variablensymbol und jedes Konstantensymbol ist ein
Term.
• Ist f ein n-stelliges Funktionssymbol und sind t1 , . . . , tn Terme,
dann ist auch
f (t1 , . . . , tn )
ein Term.
V. Stahl
Logik und Künstliche Intelligenz
Seite 124
Terme sind also nichts anderes als Zeichenketten mit einer bestimmten Struktur. Beispiele für Terme sind
x
d
f (z)
f (f (z))
g(d, y)
g f (z), g(d, y) .
Definition 7.2 (Atomare Formel)
Ist P ein n-stelliges Relationssymbol und sind t1 , . . . , tn Terme, dann
ist
P (t1 , . . . , tn )
eine atomare Formel.
Beispiele für atomare Formeln sind
P (x)
Q g(x, y), h(x, y)
P f (f (y)) .
Zum Schluss kommen noch die aussagelogischen Symbole und Quantoren
dazu.
Logik und Künstliche Intelligenz
V. Stahl
Seite 125
Definition 7.3 (Formel)
• Jede atomare Formel ist eine Formel.
• Ist F eine Formel, dann auch
¬F.
• Sind F und G Formeln, dann auch
(F ∧ G), (F ∨ G), (F → G), (F ↔ G).
• Ist F eine Formel und x ein Variablensymbol, dann ist auch
∀x F
eine Formel.
Beispiele für Formeln sind
Q(x, c)
P (c) → ∀x ¬∀y Q(x, d)
∀x P f (g(x, c)) → Q c, f (c)
Der Aufbau der letzten Formel ist in Bild 7.1 durch einen Baum dargestellt.
Hat man sich also für bestimmte Variablen-, Konstanten-, Funktions-, und
Relationssymbole entschieden, ist die zugehörige Sprache der Prädikatenlogik
die Menge der Formeln, die man aus diesen Symbolen konstruieren kann.
7.1.2
Freie und gebundene Variablen.
Ein Variablensymbol kommt in einer Formel entweder frei vor oder gebunden
durch einen Quantor.
Beispiel 7.4
Hierzu ein paar Beispiele:
∀x Q(x, y)
Hier ist x gebunden und y frei.
P (x) → ∀x Q(x, d)
Das erste Auftreten von x ist frei, das zweite gebunden.
∀x P (x) → Q(x, y)
Logik und Künstliche Intelligenz
V. Stahl
Seite 126
∀x P f (g(x, c)) → Q c, f (c)
∀x P f (g(x, c))
P f (g(x, c))
f (g(x, c))
Formeln
Q c, f (c)
c
atomare Formeln
f (c)
Terme
g(x, c)
x
c
c
Abbildung 7.1: Aufbau von Formeln.
Beide Auftreten von x sind gebunden, y ist frei.
∀x P (x) → Q(x, y)
Das erste Auftreten von x ist gebunden, das zweite frei. Um die “Reichweite” eines Quantors zu bestimmen, muss man sich klarmachen wie die
Formel durch einen Baum aufgebaut ist. Hierüber geben die Klammern
Aufschluss.
∀x P (x) → ∀x Q(x, y)
Beide Auftreten von x sind gebunden, jedoch durch unterschiedliche
Quantoren.
Ein Quantor ∀x bindet somit die freien Auftreten des Variablensymbols x im
Baum unterhalb dieses Quantors, siehe Bild 7.1.
Man sollte möglichst vermeiden, dass ein Variablensymbol in ein und
der selben Formel sowohl frei als auch gebunden vorkommt oder durch unterschiedliche Quantoren gebunden wird. Solche Situationen können leicht
behoben werden, indem man ein gebundenes Variablensymbol durch ein neues Variablensymbol ersetzt, d.h. ein Variablensymbol, das noch nicht in der
Formel verwendet wird. Man spricht dann von einer gebundenen Umbenennung. Schließlich hat man ja unendlich viele Variablensymbole!
Logik und Künstliche Intelligenz
V. Stahl
Seite 127
Definition 7.5 (Geschlossene Formel)
Eine Formel, in der keine freien Variablensymbole vorkommen, heißt
geschlossen.
Man kann aus jeder Formel eine geschlossene Formel machen, wenn man an
den Anfang der Formel einen Allquantor zu jeder in ihr auftretenden freien
Variablen setzt. Man spricht dann vom universellen Abschluss der Formel.
Der universelle Abschluss von
P (x) → ∀z Q(y, z)
ist somit
7.1.3
∀x ∀y P (x) → ∀z Q(y, z) .
Substitution
Manchmal möchte man alle freien Auftreten eines Variablensymbols x in
einer Formel F durch einen Term t ersetzen. Die entstehende Formel wird
dann mit F [t/x] bezeichnet. So ist z.B.
P (x)[f (y)/x] = P (f (y))
Q x, f (x) [h(x, y)/x] = Q h(x, y), f h(x, y)
∀y P (y) → Q(x, y) [f (c)/y] = ∀y P (y) → Q(x, f (c)) .
Definition 7.6 (Substitution)
Eine Substitution ist die Ersetzung eines Variablensymbols an allen
Stellen, in denen es frei in einer Formel vorkommt durch einen Term.
Definition 7.7 (Frei für)
Sind alle Auftreten von Variablensymbolen im Term t nach dessen
Substitution für x in F frei, dann heißt t frei für x in F .
Bei Substitutionen ist es normalerweise sehr wünschenswert, dass t frei für x
in F ist und kann leicht erreicht werden, indem man die gebundenen Variablensymbole von F so umbenennt, dass sie verschieden sind von den Variablensymbolen in t.
Beispiel 7.8
Logik und Künstliche Intelligenz
V. Stahl
Seite 128
• Sei t = g(c, y) und F = ∀y Q(x, y). Dann ist t nicht frei für x in
F . Es ist nämlich
F [t/x] = ∀y Q g(c, y), y
und das Vorkommen von y in t ist nun gebunden!
• Benennt man das gebundene Variablensymbol y in F zunächst
um, erhält man die Formel F ′ = ∀z Q(x, z). Nun ist t frei für x in
F ′ und es ist
F ′ [t/x] = ∀z Q g(c, y), z .
Nachfolgendes Beispiel soll verdeutlichen, warum es so wichtig ist, dass ein
Term frei für ein Variablensymbol ist, bevor man substituiert.
Beispiel 7.9
Die Formel
F = ∃y y = x + 1
kann interpretiert werden als Aussage über natürliche Zahlen und Addition. Sie drückt dann aus, dass die natürliche Zahl x einen Nachfolger
hat. Dies ist wahr für beliebiges x ∈ N, also kann man für x auch einen
Term einsetzen, z.B. die Konstante 42:
F [42/x] = ∃y y = 42 + 1.
auch dies ist wahr. Substiuiert man jedoch für x den Term y, erhält
man
F [y/x] = ∃y y = y + 1
und das ist natürlich falsch. Dies liegt daran, dass der Term y nicht frei
für x in der Formel F ist.
7.1.4
Syntaktische Vereinfachungen.
Die Formeln sind oft schwer zu lesen, weil sie sehr viele Klammern enthalten.
Um die Notation zu vereinfachen, werden überflüssige Klammern weggelassen. Hierzu wird festgelegt, dass ∧ stärker bindet als ∨ und ∨ stärker als →.
Beispiel 7.10
Die Formel
P (x) ∧ ∃y Q(x, y) → P (c) ∨ P (x)
ist somit eine syntaktische Vereinfachung von
P (x) ∧ ∃y Q(x, y) → P (c) ∨ P (x) .
V. Stahl
7.2
Logik und Künstliche Intelligenz
Seite 129
Semantik der Prädikatenlogik
Was könnte die Formel
∀x Q g(x, c), x
bedeuten? Man kann sie z.B. so interpretieren, dass sie Aussagen über Zahlen
aus N0 macht. Das Konstantensymbol c soll die Zahl 0 bedeuten, g soll die
Additionsfunktion sein und Q die Gleichheitsrelation. Die Formel macht dann
die wahre Aussage, dass für alle x ∈ N0 gilt x + 0 = x.
Allgemein muss man bei der Interpretation einer Formel festlegen, was
die Konstanten-, Funktions-, und Relationssymbole bedeuten sollen. Naheliegenderweise sollen die Konstantensymbole durch eine Konstanten, die Funktionssymbole durch Funktionen und die Relationssymbole durch Relationen
interpretiert werden. Um’s einfach zu machen, sollen diese sich alle auf ein
und dieselbe Menge beziehen.
Um die Notation etwas zu vereinfachen, bezeichnen wir die Symbole unsere
Sprache wie folgt:
• Konstantensymbole: c1 , c2 , . . .
• Variablensymbole: x1 , x2 , . . .
• Funktionssymbole: f1 , f2 , . . .
• Relationssymbole P1 , P2 , . . ..
Definition 7.11 (Interpretation)
Eine Interpretation einer Sprache der Prädikatenlogik besteht aus
einer nichtleeren Menge A, der sog. Trägermenge der Interpretation.
Weiterhin ordnet sie
• jedem Konstantensymbol ci ein Element c′i ∈ A zu
• jedem Variablensymbol xi ein Element x′i ∈ A zu
• jedem n-stelligen Funktionssymbol fi eine n-stellige Funktion
fi ∈ An → A zu
• und jedem n-stelligen Relationssymbol Pi eine n-stellige Relation auf Pi ⊆ An zu.
Notation 7.12
Allgemein wird die Bedeutung eines Symbols s mit s′ bezeichnet.
V. Stahl
Logik und Künstliche Intelligenz
Seite 130
Intuitiv müsste klar sein, was eine Formel bedeutet, wenn die Bedeutung der
Symbole (d.h. eine Interpretation) gegeben ist. Trotzdem nochmal eine exakte Definition. Gemäß dem Aufbau von Formeln wird zunächst die Bedeutung
von Termen definiert.
Definition 7.13 (Bedeutung von Termen)
Sei t ein Term und I eine Interpretation. Dann ist die Bedeutung t′
von t in I definiert durch
 ′
falls t = ci für ein i
 ci
′
′
t =
x
falls t = xi für ein i
 i′ ′
fi (t1 , . . . , t′n ) falls t = fi (t1 , . . . , tn ) für ein i.
Beispiel 7.14
Sei t = f (g(x, c)), die Trägermenge von I sei N0 , weiter
′
′
sei c = 5, x = 3, g ′ (x, y) = x + y und f ′ (x) = x + 1. Dann ist t′ = 9.
Die Bedeutung eines Terms ist somit immer ein Element der Trägermenge.
V. Stahl
Logik und Künstliche Intelligenz
Seite 131
Logik und Künstliche Intelligenz
V. Stahl
Seite 132
Definition 7.15 (Bedeutung von Formeln)
Sei F eine Formel und I eine Interpretation mit Trägermenge A.
Dann ist die Bedeutung F ′ von F in I wie folgt definiert:
• Ist F eine atomare Formel, d.h.
F = Pi (t1 , . . . , tn ) für ein i
dann ist
F ′ = Pi′ (t′1 , . . . , t′n ).
• Ist
F = ¬G
für eine Formel G, dann ist
F ′ = ¬G′ .
Achtung: Während ¬ in der Formel F = ¬G nur ein Symbol
ist, bezeichnet ¬ in F ′ = ¬G′ eine Boolesche Funktion!
• Ist
F = (G → H)
für Formeln G und H, dann ist
F ′ = G′ → H ′ .
Wiederum ist → in F = (G → H) nur ein Symbol, während
es in F ′ = G′ → H ′ eine Boolesche Funktion bezeichnet.
• Die Bedeutung von G ∧ H, G ∨ H, G ↔ H ist analog zum
vorigen Fall definiert.
• Ist
F = ∀xi G
für ein Variablensymbol xi und eine Formel G dann ist
– F ′ = 1 wenn die Formel G wahr ist in jeder Interpretation
I[x′i = a] mit a ∈ A beliebig und
– F ′ = 0 sonst.
Hierbei ist I[x′i = a] die selbe Interpretation wie I, außer dass
das Variablensymbol x′i durch a interpretiert wird.
• Die Bedeutung von ∃xi G ist analog zum vorigen Fall definiert.
V. Stahl
Logik und Künstliche Intelligenz
Seite 133
Die Bedeutung einer Formel in einer Interpretation ist somit immer ein Wahrheitswert 0 oder 1.
Bemerkung. In der Regel werden wir mit geschlossenen Formeln arbeiten.
Für die Interpretation solcher Formeln ist die Bedeutung der Variablensymbole irrelevant und wird daher nicht angegeben.
Beispiel 7.16
Nachfolgend zwei Interpretationen I1 , I2 für Formeln, die
die in Kapitel 7.1.1 genannten Symbole verwenden.
• Trägermenge von I1 sei N0 . In I1 wird das Konstantensymbol c
durch c′ = 0 interpretiert, f ′ ist die einstellige Nachfolgerfunktion,
g ′ ist die Addition und h′ die Multiplikation. Weiterhin ist P ′ die
Menge der geraden Zahlen und Q′ die Gleichheitsrelation.
√
• Trägermenge von I2 sei R. In I2 ist c′ = 2, f ′ ist die Rundungsfunktion nach oben auf die nächstgelegene ganze Zahl, g ′ ist die
Addition und h′ die Subtraktion. Weiterhin ist P ′ die Menge der
rationalen Zahlen und Q′ die Gleichheitsrelation.
Um auszudrücken, dass eine Formel F wahr bzgl. einer Interpretation I ist,
schreibt man
|=I F.
Mit den Interpretationen von Beispiel 7.16 gilt
|=I1 ∀x Q g(x, c), x
6|=I2 ∀x Q g(x, c), x .
Theorem 7.17
Ist F eine Formel und I eine Interpretation, dann gilt
entweder |=I F oder |=I ¬F.
Definition 7.18 (Gültige Formel)
Eine Formel heißt gültig, wenn sie wahr in jeder Interpretation ist.
Ein Beispiel für eine gültige Formel ist
P (x) → P (x) .
Logik und Künstliche Intelligenz
V. Stahl
Seite 134
Definition 7.19 (Unerfüllbare Formel)
Eine Formel heißt unerfüllbar, wenn sie falsch in jeder Interpretation
ist.
Offensichtlich ist eine Formel F genau dann gültig, wenn ¬F unerfüllbar ist.
Beispiel 7.20
Die Formel
∀x P (x) → ∃yP (y)
ist gültig. Wenn die Eigenschaft P ′ für jedes Elemnt der Trägermenge gilt, dann existiert auch mindestens ein Element der Trägermenge,
welches die Eigenschaft P ′ hat. Doch halt — wie sieht’s mit der Interpretation aus, deren Trägermenge leer ist? In der Tat wäre die Formel
in dieser Interpretation falsch. Um solche Ausnahmefälle zu vermeiden,
wurde in Definition 7.11 ausdrücklich gefodert, dass die Trägermenge
einer Interpretation nicht leer sein darf.
7.3
7.3.1
Rechenregeln für Formeln der Prädikatenlogik
Äquivalente Formeln
Eine Rechenregel ist ganz allgemein ausgedrückt eine syntaktische Umformung einer Zeichenkette, bei der die Semantik erhalten bleibt. Das Distributivgesetz besagt z.B., dass die beiden syntaktisch ungleichen Terme
a(b + c) und ab + ac
die gleiche Semantik haben, wenn man sie über den reellen Zahlen mit Addition und Multiplikation interpretiert. Das bedeutet, dass man im Lauf eines
Rechenvorgangs die beiden Terme beliebig gegeneinander austauschen kann.
Ähnliche Rechenregeln gibt es auch für Formeln der Prädikatenlogik.
Beispiel 7.21
Formeln
Aus den Gesetzen von de Morgan folgt, dass die beiden
¬ ∀x P (x) ∨ Q(c, d) und ¬∀x P (x) ∧ ¬Q(c, d)
den selben Wahrheitswert haben, und zwar in jeder Interpretation. Sie
haben somit die selbe Bedeutung, d.h. sind semantisch gleich.
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 7.22
Seite 135
Die beiden Formeln
¬∀x P (x) und ∃x ¬P (x)
sagen im Prinzip das Selbe aus: Wenn nicht jedes x die Eigenschaft P
hat, dann gibt’s mindestens ein x, welches nicht die Eigenschaft P hat
— und umgekehrt. Dabei ist völlig egal, wie man P interpretiert. In
jeder Interpretation besitzen die beiden Formeln den selben Wahrheitswert und sind somit semantisch gleich.
Analog zur Aussagenlogik heißen semantisch gleiche Formeln äquivalent.
Definition 7.23 (Äquivalente Formeln)
Zwei Formeln F und G heißen äquivalent wenn sie in jeder Interpretation den selben Wahrheitswert haben. Man schreibt dann
F ≡ G.
Wie im Fall der Aussagenlogik wird das Symbol = verwendet für die syntaktische Gleichheit von Formeln, während ≡ für die semantische Gleichheit
steht. Wenn F = G, dann gilt auch F ≡ G, andersherum muss dies aber
nicht der Fall sein. So ist z.B.
¬∀x P (x) ≡ ∃x ¬P (x)
aber
¬∀x P (x) 6= ∃x ¬P (x).
7.3.2
Regeln der Aussagenlogik
Die Rechenregeln für Boolesche Funktionen in Tabelle 6.2 lassen sich unmittelbar auf die Prädikatenlogik übertragen.
V. Stahl
Logik und Künstliche Intelligenz
Seite 136
Theorem 7.24
Seien F, G, H beliebige Formeln der Prädikatenlogik. Dann gilt
F ∧G ≡ G∧F
F ∨G ≡ G∨F
(Kommutativität von ∧)
(Kommutativität von ∨)
(F ∧ G) ∧ H ≡ F ∧ (G ∧ H)
(F ∨ G) ∨ H ≡ F ∨ (G ∨ H)
(Assoziativität von ∧)
(Assoziativität von ∨)
F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧ H)
(Distributivität von ∧ über ∨)
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨ H)
(Distributivität von ∨ über ∧)
F ∧F ≡ F
F ∨F ≡ F
(Idempotenz von ∧)
(Idempotenz von ∨)
F ∧ (F ∨ G) ≡ F
F ∨ (F ∧ G) ≡ F
(Absorption)
¬¬F ≡ F
(Doppelnegation)
¬(F ∧ G) ≡ (¬F ) ∨ (¬G)
¬(F ∨ G) ≡ (¬F ) ∧ (¬G)
(de Morgan’sche Regeln)
F → G ≡ (¬F ) ∨ G
F ↔ G ≡ (F → G) ∧ (G → F )
(Ersetzen von →)
(Ersetzen von ↔)
Logik und Künstliche Intelligenz
V. Stahl
7.3.3
Seite 137
Regeln für Quantoren
Theorem 7.25
Seien F und G beliebige Formeln. Dann gilt
¬∀xF ≡ ∃x¬F
¬∃xF ≡ ∀x¬F
(Vertauschen von ¬ und ∀)
(Vertauschen von ¬ und ∃)
∀xF ∧ ∀xG ≡ ∀x(F ∧ G)
∃xF ∨ ∃xG ≡ ∃x(F ∨ G)
(Herausziehen von ∀ aus ∧)
(Herausziehen von ∃ aus ∨)
∀x∀yF ≡ ∀y∀xF
∃x∃yF ≡ ∃y∃xF
(Reihenfolge von ∀)
(Reihenfolge von ∃)
Theorem 7.26
Seien F und G beliebige Formeln. Falls x in G nicht frei vorkommt,
gilt
∀xF
∀xF
∃xF
∃xF
∧G≡
∨G≡
∧G≡
∨G≡
∀x(F
∀x(F
∃x(F
∃x(F
∧ G)
∨ G)
∧ G)
∨ G)
(Triviale Quantifizierung)
Wichtig: Folgende ganz ähnlich aussehende Umformungen sind im Allgemeinen nicht zulässig!
∀xF ∨ ∀xG ≡
6
∀x(F ∨ G)
∃xF ∧ ∃xG ≡
6
∃x(F ∧ G)
∀x∃yF 6≡ ∃y∀xF
∃x∀yF 6≡ ∀y∃xF
Beispiel 7.27
Um zu sehen, dass
∀xF ∨ ∀xG 6≡ ∀x(F ∨ G)
Logik und Künstliche Intelligenz
V. Stahl
Seite 138
folgendes Beispiel: Sei
F = P (x)
G = ¬P (x)
Dann besagt
∀x (F ∨ G),
dass jedes Objekt die Eigenschaft P hat oder die Eigenschaft P nicht
hat — was natürlich wahr ist. Andererseits besagt
∀xF ∨ ∀xG,
dass jedes Objekt die Eigenschaft P hat oder jedes Objekt die Eigenschaft P nicht hat. Nimmt man die Interpretation I mit Trägermenge
N und interpretiert P als Menge der geraden natürlichen Zahlen, dann
ist diese Formel falsch in I.
Beispiel 7.28
Um zu sehen, dass
∀x∃yF 6≡ ∃y∀xF
folgendes Beispiel: Sei F = P (x, y) und I die Interpretation mit Trägermenge N und P die Gleichheitsrelation auf N. Dann ist
∀x∃y P (x, y)
wahr, während
falsch in I ist.
7.3.4
∃y∀x P (x, y)
Gebundene Umbenennung
Auch die bereits früher erwähnte gebundene Umbenennung lässt sich als
Rechengesetz verstehen, bei dem eine Formel syntaktisch verändert wird ohne
ihre Semantik zu ändern.
Theorem 7.29 (Gebundene Umbenennung)
Sei F eine Formel, in der y nicht vorkommt. Sei weiterhin F [y/x]
die Formel, die entsteht wenn man alle freien Vorkommen von x in
F durch y ersetzt. Dann gilt Dann gilt
∀xF ≡ ∀yF [y/x]
∃xF ≡ ∃yF [y/x]
Logik und Künstliche Intelligenz
V. Stahl
Beispiel 7.30
Seite 139
Wir haben gesehen, dass i.a.
∀xF ∨ ∀xG 6≡ ∀x(F ∨ G).
Sei y ein Variablensymbol, das nicht in G vorkommt. Durch gebundene
Umbenennung erhält man somit
∀xF ∨ ∀xG ≡ ∀xF ∨ ∀yG[y/x].
Da x in ∀y G[y/x] nicht frei vorkommt, folgt aus Theorem 7.25
∀xF ∨ ∀yG[y/x] ≡ ∀x∀y(F ∨ G[y/x]).
Somit gilt
∀xF ∨ ∀xG ≡ ∀x∀y(F ∨ G[y/x]).
7.3.5
Pränex Normalform
Mit den Rechenregeln aus Kapitel 7.3 ist es immer möglich, eine Formel der
Prädikatenlogik so äquivalent umzuformen, dass alle Quantoren am Anfang
der Formel stehen. Die Formel hat dann Pränex Normalform.
Definition 7.31 (Pränex Normalform)
Eine Formel heißt pränex oder in Pränex Normalform wenn sie die
Form
Q1 x1 Q2 x2 . . . Qn xn F
hat, wobei xi Variablensymbole, Qi ∈ {∀, ∃}, n ≥ 0 und F eine
quantorenfreie Formel ist.
Beispiel 7.32
¬ ∃x P (x) ∨ ∀y Q(x, y)
≡ ¬∃x P (x) ∧ ¬∀y Q(x, y)
≡ ∀x ¬P (x) ∧ ∃y ¬Q(x, y)
≡ ∀z ¬P (z) ∧ ∃y ¬Q(x, y)
≡ ∀z ¬P (z) ∧ ∃y ¬Q(x, y)
≡ ∀z ∃y ¬P (z) ∧ ¬Q(x, y)
(de Morgan)
(Theorem 7.25)
(Gebundene Umbenennung)
(Theorem 7.26)
(Theorem 7.26)
Um eine gegeben Formel auf Pränex Normalform zu bringen, empfiehlt sich
folgende Vorgehensweise:
Logik und Künstliche Intelligenz
V. Stahl
Seite 140
• Zunächst ersetzt man → und ↔ durch ∧, ∨ und ¬, siehe Theorem 7.24.
• Als nächstes transportiert man alle Negationen direkt zu den atomaren
Formeln. Hierzu benötigt man das Gesetz von de Morgan und Theorem
7.25. In Beispiel 7.32 waren dies die ersten beiden Schritte.
• Um einen Quantor aus einer ∧ bzw. ∨ Verknüpfung herauszuholen,
bedient man sich der Theoreme 7.25 und 7.26. Die nötige Voraussetzung für die Anwendbarkeit von Theorem 7.26 (x darf in G nicht frei
vorkommen), lässt sich durch eine gebundene Umbenennung immer erreichen. Dies war in Beispiel 7.32 im dritten Schritt erforderlich, um
Theorem 7.26 anwenden zu können.
7.4
Logische Folgerungen
Ähnlich wie im Fall der Aussagenlogik (Definition 6.12) wird nun auch für
die Prädikatenlogik der Begriff der logischen Schlussfolgerung definiert. Sei
im Folgenden Φ eine Menge von Formeln und F eine Formel.
Definition 7.33 (Logische Folgerung)
F folgt logisch aus Φ, wenn in jeder Interpretation, in der alle
Formeln von Φ wahr sind, auch F wahr ist. Hierfür schreibt man
Φ |= F.
Wenn Φ nur eine einzige Formel G enthält, schreibt man einfach
G |= F,
d.h. man spart sich die Mengenklammern um G.
Definition 7.34 (Modell)
Eine Interpretation I, in der alle Formeln von Φ wahr sind, heißt
Modell von Φ. Man schreibt dafür
|=I Φ.
Beispiel 7.35
Sei
Φ = { ∀x x 6= 0 → ∃y x = s(y), ∀x ∀y s(x) = s(y) → x = y }.
Logik und Künstliche Intelligenz
V. Stahl
Seite 141
Dann ist die Interpretation mit Trägermenge N0 , in der s ∈ N0 → N0
durch die Nachfolgerfunktion, 0 durch die Konstante Null und = durch
die Gleichheitsrelation auf N0 interpretiert wird, ein Modell von Φ.
Die beiden Formeln besagen dann, dass jede Zahl außer Null einen
Vorgänger hat und dass die Nachfolgerfunktion injektiv ist. Natürlich
hat Φ auch noch andere Modelle.
Ein Modell von Φ ist somit eine Möglichkeit, was die Formeln von Φ bedeuten
könnten. Mit dem Begriff des Modells lässt sich Definition 7.33 etwas kürzer
formulieren:
Φ |= F wenn F in jedem Modell von Φ wahr ist.
In Kapitel ?? werden Verfahren vorgestellt, wie man automatisch logische
Schlussfolgerungen ziehen kann.
Je mehr Wissen man hat, desto mehr Schlussfolgerungen kann man daraus ziehen. Formal lässt sich das durch folgendes Theorem ausdrücken.
Theorem 7.36
Seien Φ und Ψ Formelmengen mit Φ ⊆ Ψ. Sei F eine Formel mit
Φ |= F . Dann gilt auch Ψ |= F .
Es gibt auch Formeln, auf die man ohne jedes Vorwissen schließen kann. Dies
sind genau die gültigen Formeln. Ist F eine gültige Formel, dann gilt
∅ |= F.
7.4.1
Schlussfolgerungsregeln
Die in Kapitel 7.1.3 behandelten Substitutionen sind die Grundlage einer
ganzen Klasse von einfachen logischen Schlussfolgerungen: Wenn eine Eigenschaft für alle Objekte gilt, dann trifft sie auch auf konkrete Einzelobjekte zu. Wenn man z.B. weiss, dass alle Menschen sterblich sind, kann man
daraus schließen, dass auch Sokrates sterblich ist. Übersetzen wir nun diese
triviale Erkenntnis in die Sprache der Logik. Sei F eine Formel (im Beispiel
Sterblich(x)) und t ein Term (im Beispiel Sokrates). Dann ist in jeder Interpretation, in der
∀xF
wahr ist, auch
F [t/x]
Logik und Künstliche Intelligenz
V. Stahl
Seite 142
wahr, d.h.
∀xF |= F [t/x].
Doch halt — es gibt eine unschöne Ausnahme! Sei
F = ∃y y = x und t = y + 1.
In der Standard Interpretation über den natürlichen Zahlen ist
∀xF = ∀x ∃y y = x
wahr, aber
F [t/x] = ∃y y = y + 1
ist falsch. Man muss daher zusätzlich fordern, dass t frei für x in F ist, siehe
Definition 7.7.
Theorem 7.37 Logische Schlussfolgerung durch Konkretisierung.
Sei t frei für x in F . Dann gilt
∀xF |= F [t/x].
Neben der Konkretisierung ist die bereits aus der Aussagenlogik bekannte
Schlussfolgerungsregel Modus Ponens wichtig.
Theorem 7.38 (Modus Ponens.)
Seien F und G zwei Formeln der Prädikatenlogik. Dann gilt
{F, F → G} |= G.
Wie in Kapitel ?? gezeigt wird, kann man allein mit der Konkretisierung und
Modus Ponens alle erforderlichen logischen Schlussfolgerungen ziehen. Man
kann also beliebig komplexe Denkvorgänge in so feine Schritte zerlegen, dass
jeder einzelne Schritt trivial ist.
7.4.2
Konsistenz
Definition 7.39 (Konsistenz)
Eine Menge von Formeln heißt konsistent, wenn sie ein Modell hat.
Ansonsten heißt sie inkonsistent.
V. Stahl
Logik und Künstliche Intelligenz
Seite 143
Inkonsistente Mengen von Formeln sind in praktischen Anwendungen nicht
sinnvoll. Aus einer inkonsistenten Menge von Formeln Φ kann man jede beliebige Formeln F logisch folgern. Dies wird klar, wenn man sich genau an
die Definitionen hält. Es gilt Φ |= F genau dann wenn für jede Interpretation I, in der alle Formeln von Φ wahr sind, auch F wahr ist. Ist Φ jedoch
inkonsistent, gibt es keine solche Interpretation I, folglich werden auch keine
Anforderungen an F gestellt.
Folgendes Theorem spielt für die in Kapitel ?? eine wichtige Rolle:
Theorem 7.40
Wenn Φ |= F , dann ist Φ ∪ {¬F } inkonsistent.
Der Beweis ist recht einfach:
• Angenommen Φ |= F .
• Laut Definition 7.33 ist somit F in jeder Interpretation wahr, in der
alle Formeln von Φ wahr sind.
• Damit ist ¬F in jeder Interpretation falsch, in der alle Formeln von Φ
wahr sind.
• Folglich gibt es keine Interpretation, in der sowohl alle Formeln von Φ
als auch ¬F wahr sind.
• Nach Definition 7.39 ist somit Φ ∪ {¬F } inkonsistent.
V. Stahl
A
Logik und Künstliche Intelligenz
Seite 144
Kardinalzahlen und Kontinuumshypothese
In Definition 2.19 wurde der Begriff der Mächtigkeit (oder Kardinalität) einer Menge festgelegt. Zwei Dinge sind an dieser Definition nicht so toll: Zum
einen hat man vorausgesetzt, dass bekannt ist was die Anzahl der Elemente
einer Menge ist, zum anderen wurde die Mächtigkeit nur für endliche Mengen definiert. Nachdem wir uns inzwischen mit bijektiven Funktionen und
Äquivalenzrelationen beschäftigt haben, können wir nun nicht nur den Begriff der Mächtigkeit von beliebigen Mengen definieren sondern auch noch
einen bestimmten Typ von Zahlen, die sog. Kardinalzahlen.
Definition A.1
Zwei Mengen A und B heißen gleich mächtig, wenn es eine bijektive
Funktion f ∈ A → B gibt.
Ist A eine endliche Menge und B ⊂ A, dann gibt es natürlich keine bijektive
Funktion von A nach B und folglich sind A und B erwartungsgemäß nicht
gleich mächtig.
Beispiel A.2
Es gibt keine injektive Funktion in der Menge
{1, 2, 3} → {1, 2}.
Jede Funktion aus dieser Menge muss zwangsläufig mindestens zwei
Elementen aus der ersten Menge ein und das selbe Element aus der
zweiten Menge zuweisen.
Für unendliche Mengen gilt dies nicht: Z und N sind gleich mächtig obwohl
N ⊂ Z. Eine bijektive Funktion f ∈ Z → N wurde in Beispiel 5.64 definiert. Diese Eigenschaft hat Richard Dedekind benutzt um die Eigenschaft
“unendlich” einer Menge zu definieren. Wir müssen uns ab sofort also nicht
mehr auf unsere intuitive Vorstellung von Unendlichkeit verlassen.
Definition A.3
Eine Menge A heißt unendlich, wenn es eine Menge B ⊂ A und eine
injektive Funktion f ∈ A → B gibt.
Die Mächtigkeit (oder Kardinalität) einer Menge wird nun nicht als “Zahl”
sondern als die Menge aller gleich mächtigen Mengen definiert.
Logik und Künstliche Intelligenz
V. Stahl
Seite 145
Definition A.4
Gleichmächtigkeit ist eine Äquivalenzrelation auf der Menge aller
Mengen. Wir schreiben
A≡B
genau dann wenn A und B gleich mächtig sind. Die Äquivalenzklasse
bzgl. ≡ von A wird mit
|A|
bezeichnet und heißt Kardinalität von A.
Beispiel A.5
gilt
Die Mengen N, Z, Q, usw. sind alle gleich mächtig. Daher
|N| = {N, Z, Q, . . .}.
Beispiel A.6
N und Z sind gleich mächtig, daher gilt
|N| = |Z|.
Andererseits gilt
|∅| =
6 |{∅}|.
Nachdem nun die Kardinalität einer Menge definiert ist, kann man sich
darauf stützen und definieren was Zahlen sind. Anstatt also wie bisher unter
Verwendung einer intuitiven Vorstellung von Zahlen zu definieren was die
Mächtigkeit einer Menge ist, machen wir’s nun umgekehrt: Unter Verwendung der Kardinalität wird definiert was Zahlen sind. Für endliche Mengen
ist der Begriff der Gleichmächtigkeit eng verwandt mit Zahlen. Zwei endliche
Mengen sind gleich mächtig wenn sie die selbe Anzahl von Elementen haben.
Die Zahlen 0, 1, 2, . . . sind somit nichts anderes als Namen für Äquivalenzklassen von ≡.
Definition A.7
Die Symbole 0, 1, 2, . . . sind definiert durch
0 = |∅|
1 = |{∅}|
2 = | {∅}, ∅ |
..
.
V. Stahl
Logik und Künstliche Intelligenz
Seite 146
Somit ist z.B. 3 eine Menge (was auch sonst) und zwar die Menge aller 3elementigen Mengen oder anders ausgedrückt, die Äquivalenzklasse von
n o
∅, ∅ , ∅, {∅}
bzgl. der Äquivalenzrelation ≡.
Um auch die Mächtigkeit von unendlichen Mengen durch Zahlen beschreiben zu können, braucht man zusätzliche Zahlen, die nicht in N0 sind.
Sind zwei Mengen gleich mächtig, sagt man sie haben die selbe Kardinalität
oder die selbe Kardinalzahl.
Definition A.8
Die Kardinalzahl von N wird mit ℵ0 bezeichnet, d.h.
|N| = ℵ0 .
Das Symbol ℵ ist der erste Buchstabe des hebräischen Alphabets und wird
“Alef” gesprochen. Manche Dinge sind halt so kompliziert, dass selbst griechische Buchstaben ihrer nicht würdig sind. Für jede abzählbare Menge A
gilt somit
|A| = ℵ0 .
Damit ist ℵ0 6∈ N unsere erste “unendlich große” Zahl.
Die ganzen Ordnungsrelationen auf Kardinalzahlen sind nun leicht zu definieren:
Definition A.9
Existiert eine injektive Funktion in A → B aber nicht in B → A,
dann hat B eine höhere Kardinalität als A. Man schreibt dann
|A| < |B|.
Wie in Kapitel 5.12 gezeigt, ist R überabzählbar. Es gibt also keine injektive
Funktion von R nach N (aber natürlich von N nach R). Somit hat R eine
höhere Kardinalität als N, d.h.
|N| < |R|.
Es gibt also noch größere Kardinalzahlen als ℵ0 . Tatsächlich kann man Mengen mit immer größerer Kardinalität konstruieren.
V. Stahl
Logik und Künstliche Intelligenz
Seite 147
Definition A.10
Für jede Menge A ist die Kardinalität von P (A) größer als die Kardinalität von A.
Beweis. Sei A eine Menge. Angenommen es gibt eine bijektive Funktion
f ∈ A → P (A).
Für jedes a ∈ A gilt entweder
a ∈ f (a) oder a 6∈ f (a).
Sei X ⊆ A definiert durch
X = {a ∈ A | a 6∈ f (a)}
Da f surjektiv ist, gibt es ein x ∈ A so dass
f (x) = X.
Ist nun x ∈ f (x) oder x 6∈ f (x)?
• Angenommen x ∈ f (x). Dann ist x 6∈ X.
• Angenommen x 6∈ f (x). Dann ist x ∈ X.
Da f (x) = X, führen beide Möglichkeiten zum Widerspruch. Somit
haben A und P (A) unterschiedliche Kardinalität. Andererseits ist A
gleich mächtig wie
{{a} | a ∈ A} ⊆ P (A)
so dass P (A) größere Kardinalität als A hat.
Es gibt also unendlich viele unendlich große Kardinalzahlen! Gibt es Mengen, die größere Kardinalität als N, aber kleinere Kardinalität als R haben,
d.h. gibt es Kardinalzahlen zwischen |N| und |R|? Tatsächlich kann man aus
den allgemein akzeptierten Axiomen der Mengentheorie nach Zermelo und
Fraenkel keine solche Menge konstruieren. Andererseits führt aber auch die
Annahme, dass es eine solche Menge gibt, nicht zu einem Widerspruch zu
diesen Axiomen.
Die nächst größere Kardinalzahl nach ℵ0 wird mit ℵ1 bezeichnet. Die Kontinuumshypothese besagt, dass
|R| = ℵ1 .
V. Stahl
Logik und Künstliche Intelligenz
Seite 148
Die Aussage kann mit den Axiomen von Zermelo und Fraenkel weder widerlegt (Gödel 1938) noch bewiesen (Cohen 1963) werden.
Die arithmetischen Rechenoperationen auf Kardinalzahlen kann man
nun wie folgt definieren:
Definition A.11
Die Summe zweier Kardinalzahlen x und y ist definiert durch
x + y = |A ∪ B|
für beliebige, disjunkte Mengen mit A ∈ x und B ∈ y.
Beispiel A.12
Um z.B. 2 + 3 zu berechnen, wählt man zwei disjunkte
Mengen aus 2 und 3, also z.B.
{1, 2} ∈ 2
{5, 6, 7} ∈ 3
und erhält
2 + 3 = |{1, 2, 5, 6, 7}|
= 5
Die Addition von Kardinalzahlen ist zwar kommutativ und assoziativ aber
man darf nicht kürzen: Es gilt
|N| + |R| = |∅| + |R|
aber
|N| =
6 |∅|.
Weiterhin gilt z.B. für alle n ∈ N0
ℵ0 + n = ℵ0 .
Definition A.13
Multiplikation und Exponentiation von Kardinalzahlen sind definiert durch
|A| · |B| = |A × B|
|A||B| = |AB |
So ist z.B. ℵ0 + ℵ0 = ℵ0 und ℵ0 · ℵ0 = ℵ0 .
V. Stahl
B
Logik und Künstliche Intelligenz
Seite 149
Axiomensysteme und Theorien
Eine Theorie ist eine Menge Φ von geschlossenen Formeln, die abgeschlossen
bzgl. logischen Schlussfolgerungen ist. Das heißt, wenn
{G1 , . . . , Gn } ∈ Φ und {G1 , . . . , Gn } |= F
dann
F ∈ Φ.
Folgende Eigenschaften von Theorien sind leicht zu zeigen:
• Eine Theorie enthält alle gültigen Formeln.
• Sobald eine Theorie eine unerfüllbare Formel enthält, enthält sie alle
Formeln. Man spricht dann von einer entarteten Theorie.
Grundsätzlich gibt es zwei Ansätze, Theorien zu erzeugen.
Modellbasierte Methode. Ausgehend von einer Interpretation I erhält
man eine Theorie dadurch, dass man alle Formeln betrachtet, die in
der Interpretation wahr sind, d.h.
Φ = {F | |=I F }.
Axiomatische Methode. Ausgehend von einer Menge Φ̂ von Formeln erhält
man eine Theorie dadurch, dass man alle Formeln betrachtet, die logisch aus Φ̂ folgen, d.h.
Φ = {F | Φ̂ |= F }.
B.1
Modellbasierte Theorien
Eine algebraische Struktur ist ein Tupel bestehend aus einer Menge, ausgezeichneten Elementen dieser Menge sowie Funktionen und Relationen auf
dieser Menge, z.B.
(N0 , 0, s, +, ×, =)
wobei s ∈ N0 → N0 die Nachfolgerfunktion ist. Eine algebraische Struktur
beinhaltet somit alles, was man für die Interpretation von Formeln braucht.
Ein paar Beispiele von Formeln, die in dieser Interpretation wahr sind:
∀x ∀y ¬(x = y) → ¬(s(x) = s(y))
∀x ∃y ∃z x + z = y
∀x ∃y ∃z x = y + z
V. Stahl
Logik und Künstliche Intelligenz
Seite 150
Die Menge aller geschlossenen Formeln, die in dieser Interpretation wahr
sind, heißt modellbasierte Theorie der algebraischen Struktur. Es ist leicht
zu zeigen, dass modellbasierte Theorien tatsächlich Theorien sind, d.h. abgeschlossen sind unter logischer Schlussfolgerung.
Modellbasierte Theorien haben eine nette Eigenschaft: sie sind immer
vollständig. Ist Φ eine modellbasierte Theorie und F eine geschlossene Formel, dann ist entweder F ∈ Φ oder ¬F ∈ Φ. Dies folgt direkt aus Theorem
7.17.
Schön wär’s, wenn man ein Programm hätte, das einem von jeder Formel
entscheiden könnte, ob sie in der modellbasierten Theorie von (N0 , 0, s, +, ×, =
) ist oder nicht — dann könnte man nämlich ungelöste Probleme wie z.B.
die Goldbachsche Vermutung maschinell lösen lassen! Leider ist dies aber
unmöglich...
B.2
Axiomatische Theorien
Sei Φ̂ eine Menge von Formeln. Mit Φ̂ |= wird die Menge aller Formeln
bezeichnet, die logisch aus Φ̂ folgen. Diese Menge nennt man axiomatische
Theorie von Φ̂.
Beispiel B.1
Insbesondere ist z.B. ∅ |=, d.h. die axiomatische Theorie
der leeren Menge, die Menge aller gültigen Formeln.
Offensichtlich ist die axiomatische Theorie von Φ̂ eine Theorie, d.h. abgeschlossen unter logischer Schlussfolgerung.
Ist Φ eine Theorie so dass
Φ = Φ̂ |=
dann heißt Φ̂ Axiomensystem von Φ. Von einem Axiomensystem wird immer
gefordert, dass es entscheidbar ist. Existiert eine (endliche) Menge Φ̂ mit
Φ = Φ̂ |=
dann heißt Φ (endlich) axiomatisierbar.
Beispiel B.2
Ein Beispiel ist die axiomatische Theorie der Gruppen.
Die verwendete Sprache enthält ein zweistelliges Funktionssymbol ◦,
ein Konstantensymbol e sowie ein zweistelliges Relationssymbol =, das
V. Stahl
Logik und Künstliche Intelligenz
Seite 151
durch Gleichheit interpretiert wird. Das Axiomensystem Φ̂ besteht aus
drei Formeln:
∀x ∀y ∀z (x ◦ y) ◦ z = x ◦ (y ◦ z)
∀x x ◦ e = x
∀x∃y x ◦ y = e.
Die axiomatische Theorie von Φ̂ enthält genau die Formeln, die in jeder
Gruppe wahr sind.
Die axiomatische Theorie der leeren Menge ist die Menge aller gültigen Formeln. Die Menge aller gültigen Formeln ist somit endlich axiomatisierbar.
Es stellen sich nun folgende Fragen.
• Welche axiomatischen Theorien sind entscheidbar? Die Menge aller
gültigen Formeln ist zwar endlich axiomatisierbar aber nicht entscheidbar.
• Welche modellbasierten Theorien sind axiomatisierbar, welche sogar
entscheidbar? So ist z.B. die modellbasierte Theorie Φ von (N0 , +, ×)
weder axiomatisierbar noch entscheidbar. Jeder Versuch eines Axiomensystems Φ̂ für diese Theorie (z.B. die Peano Arithmetik) führt somit auf eine unvollständige Theorie, d.h.
|= Φ̂ ⊂ Φ.
Dies ist der berühmte Gödelsche Unvollständigkkeitssatz. Andererseits
hat Tarski später bewiesen, dass die Theorie von (R, +, ×) entscheidbar
ist.
Besonders angenehm sind vollständige und axiomatisierbare Theorien. Diese
sind nämlich immer entscheidbar. Für eine geschlossene Formel kann man
nämlich ausgehend von den Axiomen systematisch alle Theoreme erzeugen
und ist aufgrund der Vollständigkeit sicher, dass man irgendwann entweder
F oder ¬F erhält.
V. Stahl
C
Logik und Künstliche Intelligenz
Seite 152
Zermelo-Fraenkel Set Theory
Wie in Kapitel 2.4 gezeigt, führt die ursprüngliche Definition des Mengenbegriffs zu Widersprüchen. Schuld daran ist die uneingeschränkte Anwendung
des Comprehension Principles, dass zu jeder Eigenschaft E(x) eine Menge
existiert, die aus genau den Objekten x besteht, für die E(x) wahr ist. Aus
der Eigenschaft
E(x): x ist eine Menge, die nicht Element von sich selbst ist
konnte somit die Menge
R = {x | x ist Menge ∧ x 6∈ x}
konstruiert werden. Durch ein Widerspruchsargument kann man zeigen, dass
weder R ∈ R noch R 6∈ R wahr ist. Es ist jedoch unmöglich, dass eine
Aussage und ihre Negation gleichzeitig falsch sind.
Man muss also bei der Definition des Begriffs Menge etwas vorsichtiger
sein. Anstatt wie Cantor anschaulich zu beschreiben was eine Menge ist, formuliert man die Spielregeln nach denen Mengen konstruiert werden dürfen.
Die Kunst besteht darin, mit möglichst wenigen, einfachen Regeln auszukommen. Hierfür bietet sich die Sprache der Logik an. Man spricht dann von den
Axiomen der Mengenlehre. Jede wahre Aussage über Mengen muss somit logisch aus den Axiomen folgen. Der Vorteil bei dieser Vorgehensweise ist, dass
man keine intuitiven Begriffe verwenden muss wie in der Cantor’schen Definition. Dies ist aber auch genau der Nachteil, weil die so definierten Mengen
intuitiv nur noch sehr schwer vorstellbar sind.
Es gibt unterschiedliche Axiomatisierungen der Mengenlehre. Am verbreitetsten sind die Axiome von Zermelo und Fraenkel (ZF).1 Manchmal
nimmt man noch ein zusätzliches Axiom dazu, das Axiom of choice. Das
erweiterte System nennt man ZFC.
Nachfolgende werden die Axiome von ZFC wiedergegeben. Man weiß
nicht, ob diese Axiome konsistent sind — im Prinzip kann’s also passieren
dass wieder ein Russel kommt und einen Widerspruch aus ihnen herleitet. Die
meisten Mathematiker glauben aber, dass die Axiome widerspruchsfrei sind.
Mehr als hoffen kann man dies auch nicht, denn aus dem zweiten Gödelschen
Unvollständigkeitssatz folgt, dass man deren Widerspruchsfreiheit gar nicht
beweisen kann, jedenfalls nicht mit der Maschinerie der Mengenlehre.
1
Die Axiome sind das Ergebnis der Arbeit von Thoralf Skolem aus dem Jahr 1922. Sie
basieren auf der Arbeit von Adolf Fraenkel aus dem selben Jahr und einem Axiomensystem
von Ernst Zermelo aus dem Jahr 1908.
V. Stahl
Logik und Künstliche Intelligenz
Seite 153
In der Zermelo-Fraenkel Mengentheorie sind alle Objekte Mengen. Die in
den Axiomen vorkommenden Variablen beziehen sich also immer auf Mengen.
Die Tatsache, dass manche Variablen groß und andere klein geschrieben sind,
dient also nur der Lesbarkeit und hat keine Bedeutung.
• Axiom of empty set. Dieses Axiom drückt aus, dass es eine leere
Menge ∅ gibt, d.h. eine Menge, die keine Elemente hat. Die Formel ist
∃A ∀x ¬(x ∈ A).
• Axiom of extensionality. Dieses Axiom besagt, dass zwei Mengen
genau dann gleich sind, wenn sie die selben Elemente haben. Anders
ausgedrückt bedeutet dies, dass eine Menge eindeutig durch ihre Elemente bestimmt ist und es keine zwei unterschiedlichen Mengen mit
den selben Elementen geben kann. Die Formel ist
∀A ∀B A = B ↔ (∀x x ∈ A ↔ x ∈ B).
Aus dem Axiom of extensionality folgt u.a., dass es nur eine einzige
leere Menge gibt.
• Axiom of pairing. Dieses Axiom besagt, dass es zu je zwei Objekten
x und y immer eine Menge A = {x, y} gibt, die genau x und y als
Element enthält. Die Formel ist
∀x ∀y ∃A ∀z z ∈ A ↔ (z = x ∨ z = y).
Zusammen mit dem Axiom of union kann man die Verallgemeinerung
herleiten, dass es zu n Objekten x1 , x2 , . . . , xn immer eine Menge A =
{x1 , x2 , . . . , xn } gibt:
∀x1 ∀x2 . . . ∀xn ∃A ∀y y ∈ A ↔ (y = x1 ∨ y = x2 ∨ . . . ∨ y = xn ).
• Axiom of union. Salopp ausgedrückt besagt dieses Axiom, dass man
Mengen flachbügeln kann. Enthält eine Menge A ihrerseits Mengen,
dann gibt es eine Menge B, die genau die Elemente der Elemente von
A enthält. Hat man z.B. die Menge
{1, 2}, {4}, {2, 5} ,
dann kann folgt aus dem Axiom of union, dass auch
{1, 2, 4, 5}
V. Stahl
Logik und Künstliche Intelligenz
Seite 154
eine Menge ist. Die Formel ist
∀A ∃B ∀x x ∈ B ↔ (∃a x ∈ a ∧ a ∈ A).
Zusammen mit dem Axiom of pairing kann man hieraus herleiten, dass
zu je zwei Mengen ihre Vereinigungsmenge existiert.
• Axiom of power set. Dieses Axiom besagt, dass zu jeder Menge A
ihre Potenzmenge P (A) existiert. Unter Verwendung des Potenzmengenoperators würde man dies so formulieren:
∀A ∃B B = P (A).
Den Potenzmengenoperator hat man natürlich an dieser Stelle noch
nicht zur Verfügung – das Axiom soll ja gerade ausdrücken dass er
existiert. Man muss also die Definition von P (A) als Menge aller Teilmengen C von A einsetzen:
∀A ∃B ∀C C ∈ B ↔ C ⊆ A.
Auch das Teilmengensymbol in C ⊆ A lässt sich noch wie folgt eliminieren:
∀A ∃B ∀C C ∈ B ↔ (∀x x ∈ C → x ∈ A).
• Axiom of infinity. In der ZFC Mengentheorie werden Zahlen 0, 1, 2, . . .
wie folgt durch Mengen definiert:
0 = ∅
1 = 0 ∪ {0}
= ∅ ∪ {∅}
= {∅}
= {0}
2 = 1 ∪ {1}
= {0} ∪ {1}
= {0, 1}
3 = 2 ∪ {2}
= {0, 1, 2}
..
.
V. Stahl
Logik und Künstliche Intelligenz
Seite 155
(Im Gegensatz zu den Kardinalzahlen werden auf diese Weise nur endlich große Zahlen definiert.) Allgemein ist also
n + 1 = n ∪ {n} = {0, 1, 2, . . . , n}.
Mit den bisherigen Axiomen kann man somit beliebige endliche Teilmengen von N0 konstruieren, nicht aber z.B. die Menge N0 selbst. Das
Axiom of infinity erlaubt die Konstrukton von N0 auf induktive Weise: Es besagt, dass es eine Menge A gibt, die 0 enthält und für jedes
Element x auch sein Nachfolger x ∪ {x}. Die Formel ist
∃A ∅ ∈ A ∧ ∀x x ∈ A → (x ∪ {x}) ∈ A
• Axiom schema of replacement. Mit diesen Axiomen wird ausgedrückt, dass wenn f eine Funktion und A eine Menge ist, dann auch
{f (x) | x ∈ A}
eine Menge ist. Ein erster Versuch, dies formal auszudrücken ist
∀A ∃B B = {f (x) | x ∈ A}.
Der nächste Schritt ist, den Ausdruck mit den Mengenklammern zu eliminieren, da man ja das Comprehension Principle nicht zur Verfügung
hat:
∀A ∃B ∀y y ∈ B ↔ (∃x x ∈ A ∧ y = f (x)).
Eine Funktion ist nichts anderes als eine Formel R(x, y) mit freien
Variablen x und y und der Eigenschaft
∀x ∃!y R(x, y).
Man erhält damit das Axiom
∀x ∃!y R(x, y) → ∀A ∃B ∀y y ∈ B ↔ ∃x x ∈ A ∧ R(x, y) .
Dieses Axiom muss für jede Formel R(x, y) mit freien Variablen x, y
aufgenommen werden. Es handelt sich also nicht um ein einzelnes Axiom sondern um ein ganzes Axiomenschema.
• Axiom of regularity. Dieses Axiom besagt, dass jede nichtleere Menge A ein Element x hat, so dass A und x disjunkt sind. Die Formel
ist
∀A A 6= ∅ → ∃x (x ∈ A ∧ x ∩ A = ∅).
V. Stahl
Logik und Künstliche Intelligenz
Seite 156
Setzt man die Definition von ∩ ein, erhält man
∀A A 6= ∅ → ∃x x ∈ A ∧ ¬(∃y y ∈ x ∧ y ∈ A) .
Aus diesem Axiom folgt u.a., dass keine Menge sich selbst als Element
enthalten kann.
Beweis. Angenommen a ist eine Menge, die sich selbst enthält, d.h.
a ∈ a.
Aus dem Axiom of pairing folgt, dass dann auch
A = {a, a} = {a}
eine Menge ist. Diese Menge hat nur ein einziges Element, nämlich
a und nach dem Axiom of regularity muss a und A disjunkt sein.
Da aber
a ∈ a und a ∈ A,
haben sie das gemeinsame Element a und sind somit nicht disjunkt.
Damit ist die Russelsche Antinome ausgeschlossen. Es gibt auch keine
Menge aller Mengen mehr.
Aus dem Axiom of regularity folgt außerdem, dass es keine unendliche Kette Ai von Mengen gibt mit
. . . ∈ A3 ∈ A2 ∈ A1 .
Daher wird das Axiom auch Axiom of foundation genannt.
Beweis. Angenommen es gibt eine unendliche Kette . . . ∈ A3 ∈ A2 ∈
A1 . Sei f eine Funktion, die jeder natürlichen Zahl n die Menge
An zuweist. Aus dem Axiom of replacement folgt, dass
B = {f (n) | n ∈ N}
eine Menge ist. Aus dem Axiom of regularity folgt, dass es ein
k ∈ N geben muss, so dass B ∩ f (k) = ∅. Laut Konstruktion ist
jedoch f (k + 1) ∈ f (k) und f (k + 1) ∈ B, also ist B ∩ f (k) 6= ∅.
Zusammen mit dem Axiom of choice (s.u.) kann man auch die Umkehrung zeigen: Wenn das Axiom of regularity nicht gilt, dann gibt es auch
eine unendliche Element-von Kette.
Logik und Künstliche Intelligenz
V. Stahl
Seite 157
Beweis. Sei A ein Gegenbeispiel zum Axiom of regularity, d.h. A ist
eine Menge und für jedes Element x ∈ A ist x ∩ A 6= ∅. Sei g
eine Auswahlfunktion für A, d.h. g(B) ∈ B für jede nichtleere
Teilmenge B ⊆ A. Die Funktion f wird nun auf N definiert durch
f (1) = g(A)
f (n + 1) = g f (n) ∩ A .
Damit ist f (n) ∈ A für alle n ∈ N. Aus unseren Annahmen über A
folgt dass f (n) ∩ A 6= ∅ und damit ist f (n + 1) definiert. Aufgrund
der Eigenschaft von g ist
f (n + 1) ∈ f (n) ∩ A
und damit
f (n + 1) ∈ f (n).
Damit hat man eine unendliche Kette
. . . ∈ f (3) ∈ f (2) ∈ f (1).
• Axiom of choice. Lange Zeit war nicht klar, ob das Axiom of choice
überhaupt gebraucht wird, oder ob es bereits aus den anderen Axiomen
folgt. In der Tat klingt das Axiom of choice so selbstverständlich, dass
es für viele überraschend war als Gödel und Cohen seine Unabhängigkeit von den anderen Axiomen bewiesen. Das Axiom of choice sagt,
dass wenn man eine Menge von Mengen hat, man aus jeder Menge ein
Element auswählen kann. Etwas formeller wird dies wie folgt formuliert:
Für jede Menge A existiert eine Funktion f , so dass f (x) ∈ x
für alle x ∈ A.
Da man in der Logik erster Stufe nicht über Funktionen quantifizieren
darf, wird folgende, äquivalente Formulierung benutzt:
Zu jeder Menge A von disjunkten nichtleeren Mengen B existiert eine Menge X, die genau eine Element von jeder Menge
B enthält.
Die Formel hierzu ist
∀A (∀B ∈ A B 6= ∅) ∧ (∀B ∈ A ∀C ∈ A B 6= C → B ∩ C = ∅)
→ ∃X (∀x ∈ X ∃B ∈ A x ∈ B) ∧ (∀B ∈ A ∃!x ∈ X x ∈ B)
V. Stahl
Logik und Künstliche Intelligenz
Seite 158
Natürlich kann man in der Formel die relativierten Quantoren und den
∃! Quantor duch normale Quantoren ersetzen. Das Axiom of choice
besagt, dass es zu jeder Menge eine Auswahlfunktion gibt, es gibt aber
keine Hinweis darauf wie diese Funktion definiert ist.
Dass eine solche Auswahlfunktion durchaus trickreich sein kann,
erkennt man wenn man die Menge A = P (R) anschaut. Die naheliegende Option, dass man aus jeder Teilmenge von R z.B. das kleinste
Element auswählt funktioniert nicht, da es Teilmengen von R gibt, die
kein kleinstes Element haben, z.B.
{x | x ∈ R ∧ x > 0}.
Das Axiom of choice ist bei vielen Mathematikern unbeliebt, weil seine
Verwendung zu nicht konstruktiven Beweisen führt. Solche Beweise garantieren zwar die Existenz bestimmter Objekte, verraten jedoch nicht
wie diese definiert sind oder konstruiert werden können. Obwohl sie logisch unanfechtbar sind, haben sie eben nicht die selbe Überzeugungskraft wie konstruktive Beweise. Leider kommt man in außerordentlich
vielen Bereichen der Mathematik nicht ohne das Axiom of choice aus.
Beispiele sind Beweise folgender Theoreme:
– Die Vereinigungsmenge von abzählbar vielen abzählbaren Mengen
ist abzählbar.
– Es gibt eine injektive Funktion von N in jede unendliche Menge.
– Wenn A unendlich ist, dann haben A und A × A gleiche Kardinalität.
– Je zwei Mengen haben entweder gleiche Kardinalität oder eine hat
kleinere Kardinalität als die andere.
– Jeder Vektorraum hat eine Basis.
Aus den ZFC Axiomen kann man das Comprehension Principle in einer abgeschwächten Form ableiten, das sog. Separation Principle: Ist A eine Menge
und F (x) eine Formel mit freier Variablen x, dann existiert eine Menge
{x | x ∈ A ∧ F (x)}.
Ausgehend von einer Menge A kann man nun versuchen eine Russelartige
Menge RA zu konstruieren durch
RA = {x | x ∈ A ∧ x 6∈ x}.
Logik und Künstliche Intelligenz
V. Stahl
Seite 159
• Angenommen RA ∈ RA . Dann ist RA ∈ A und RA 6∈ RA . Dies ist ein
Widerspruch.
• Angenommen RA 6∈ RA . Dann ist RA 6∈ A oder RA ∈ RA . Folglich ist
RA 6∈ A. Ein Widerspruch lässt sich hieraus jedoch nicht ableiten.
In der Tat folgt bereits aus dem Axiom of regularity, dass es keine Menge
gibt, die sich selbst enthält.
C.1
Zorn’s Lemma
Das Axiom of choice ist äquivalent zu Zorn’s Lemma. Hierzu muss zunächst
der Begriff einer Kette, einer geschlossenen Menge und eines maximalen Elements erklärt werden. Eine Kette in einer Menge A ist eine (endliche oder
unendliche) Folge a1 , a2 , . . . von Mengen mit ai ⊆ A und ai ⊆ ai+1 für alle i.
Eine Menge A heißt geschlossen, wenn für jede ihrer Ketten a1 , a2 , . . . auch
a1 ∪ a2 ∪ . . . ∈ A
ist. Ein Element x ∈ A heißt maximales Element von A, wenn x 6⊆ a für alle
a ∈ A.
Theorem C.1 (Zorn’s Lemma)
Jede geschlossene Menge hat ein maximales Element.
Beweis. Siehe [22].
C.2
Wohlordnungsprinzip
Auch das Wohlordnungsprinzip ist äquivalent zum Axiom of choice:
Theorem C.2 (Wohlordnungsprinzip.)
Zu jeder Menge A gibt es eine Relation R, so dass R Wohlordnung
auf A ist.
Das Wohlordnungsprinzip ist deshalb so wichtig, weil man damit das Prinzip
der Induktion auf beliebige Mengen erweitern kann. Das Wohlordnungsprinzip ist eigentlich sehr überraschend – so gibt es z.B. auch eine Wohlordnung
auf der Menge
{x | x ∈ R ∧ x > 0 ∧ x < 1}
V. Stahl
Logik und Künstliche Intelligenz
Seite 160
obwohl diese Menge weder ein größtes noch ein kleinstes Element hat. Dass
Axiom of choice, Zorn’s Lemma und Wohlordnungsprinzip zwar logisch äquivalent aber dennoch so unterschiedlich intuitiv sind, hat zu folgendem Witz
geführt:
The Axiom of choice is obviously true, the well-ordering principle
is obviously false, and who can tell about Zorn’s Lemma?
Jerry Bona
Logik und Künstliche Intelligenz
V. Stahl
D
Seite 161
Neuman-Bernays-Gödel Set Theory
Eine andere Lösung um die Mengenlehre von Widersprüchen zu befreien,
wurde in den 1920er Jahren von John von Neuman vorgeschlagen und später
von Paul Bernays und Kurt Gödel weiterentwickelt. Wie ZFC besteht auch
sie aus Axiomen, die als NGB bezeichnet werden. Im Gegensatz zu ZFC sind
es sogar nur endlich viele Axiome.
Was Cantor intuitiv als Zusammenfassung von Objekten bezeichnet hat,
heißt in NBG Klasse.2 Der Begriff Menge wird für spezielle Klassen verwendet, die ihrerseits Elemente von Klassen sind. Die Aussage “A ist eine Menge”
bedeutet somit, dass es eine Klasse B gibt mit A ∈ B. Klassen, die keine
Mengen sind heißen echte Klassen. Somit ist jede Menge eine Klasse, aber
nicht jede Klasse ist eine Menge.
Das Comprehension Principle, das besagt dass zu jeder Eigenschaft E
eine Menge
{x | x erfüllt E}
existiert, wird nun eingeschränkt indem man verlangt, dass es sich bei den
Objekten x um Mengen handeln muss. Es gibt also nur noch die Klasse
{x | x ist Menge und x erfüllt E},
nicht aber die Klasse
{x | x ist Klasse und x erfüllt E}.
Auf diese Weise kann man natürlich wieder eine Russel’sche Klasse
R = {x | x ist Menge und x 6∈ x }
konstruieren. Aus der ursprünglichen Russel’schen Antinomie folgt, dass R
keine Menge sondern eine echte Klasse ist. Es gilt somit R 6∈ R.
Ein anderes Beispiel einer echten Klasse ist die Klasse aller Mengen
M = {x | x ist Menge }.
Aus den übrigen Axiomen von NBG folgt, dass
R = M,
d.h. es gibt keine Menge, die sich selbst enthält. Nach NBG gibt es somit
die (echte) Klasse aller Mengen. ZFC hat nichts dergleichen zu bieten, insbesondere gibt es dort keine Menge aller Mengen. Was ihre Konsistenz angeht,
stehen und fallen NBG und ZFC jedoch gemeinsam: Sollte es gelingen die
Widersprüchlichkeit eines der beiden Systeme zu zeigen, würde daraus auch
die Widersprüchlichkeit des anderen folgen.
2
Hier kommt auch der Begriff Klasse in objektorientierten Programmiersprachen her.
E
Literaturverzeichnis
Literatur
[1] Peter B. Andrews. An introduction to mathematical logic and type theory: to truth through proof. Kluwer Academic Publishers, 2002.
[2] Christoph Beierle and Gabriele Kern-Isberner. Methoden wissensbasierter Systeme. Vieweg, 2006.
[3] Bruno Buchberger and Franz Lichtenberger. Mathematik für Informatiker 1. Springer, 1981.
[4] Peter J. Cameron. Sets, Logic and Categories. Springer, 2002.
[5] Gregory J. Chaitin. Conversations with a Mathematician. Springer,
2003.
[6] Chin-Liang Chang and Richard Char-Tung Lee. Symbolic logic and mechanical theorem proving. Academic Press, 1973.
[7] J.N. Crossley, C.J. Ash, C.J. Brickhill, J.C. Stillwell, and N.H. Williams.
What is Mathematical Logic? Dover Publications, 1990.
[8] Gottlob Frege. Begriffsschrift, eine der arithmetischen nachgebildete
formelsprache des reinen denkens. Halle, 1879.
[9] Michael R. Genesereth and Nils J. Nilsson. Logische Grundlagen der
Künstlichen Intelligenz. Vieweg, 1989.
[10] Henry Hamburger and Dana Richards. Logic and language models for
computer science. Prentice Hall, 2002.
[11] John Haugeland. Artificial Intelligence: The Very Idea. MIT Press,
1985.
[12] John Haugeland. Künstliche Intelligenz - Programmierte Vernunft?
McGraw-Hill, 1987.
[13] J. P. E. Hodgson. Knowledge representation and language in AI. Ellis
Horwood Limited, 1991.
[14] Douglas R. Hofstadter. Gödel, Escher, Bach: Ein endlos geflochtenes
Band. Klett-Cotta, 1985.
162
[15] D. L. Johson. Elements of Logic via Numbers and Sets. Springer, 2001.
[16] Uwe Lämmel and Jürgen Cleve. Künstliche Intelligenz. Fachbuchverlag
Leipzig, 2001.
[17] George F. Luger. Künstliche Intelligenz. Addison-Wesley, 2001.
[18] David Poole, Alan Mackworth, and Randy Goebel. Computational intelligence, a logical approach. Oxford University Press, 1998.
[19] Stuart Russell and Peter Norvig. Artificial Intelligence. Prentice Hall,
1995.
[20] Uwe Schöning. Logik für Informatiker. Spektrum, 2000.
[21] A. M. Turing. Computing machinery and intelligence. Journal of the
Mind Association, LIX(236):433–460, 1950.
[22] B.L. van der Waerden. Algebra. Springer, 1991.
[23] Whitehead and Russel. Principia Mathematica. Cambridge University
Press, 1925.
163
Herunterladen