Logik und diskrete Strukturen – LDS

Werbung
Logik und diskrete Strukturen – LDS
Prof. Dr. Wolfram Conen
[email protected]
Raum: P -1.08
Version 0.951, 18. Oktober 2011∗
∗ Sollten Sie Fehler bemerken, dann senden Sie mir bitte eine Email – vielen Dank vorab! Hinweis: Folien, die oben
links mit dem Wort Advanced markiert sind, sind für die Klausurvorbereitung nicht notwendig (sie können trotzdem beim
Gesamtverständnis helfen, also entscheiden sie selbst, ob sie sie ignorieren wollen oder nicht).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
„Meine Gedankenwelt, d.h. die Gesamtheit S aller Dinge, welche Gegenstand meines Denkens sein können, ist unendlich“ (Richard Dedekind in Was sind und was sollen die Zahlen?, 1888, Vieweg)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 2
Begriffe
Logik kann man auf ganz unterschiedliche Art beschreiben, wir wollen vor allem
verstehen, wie man (logische) Zusammenhänge zwischen “Dingen” formalisieren
kann und wie man daraus (logische) Schlüsse ziehen kann. Was genau das meint,
werden wir noch sehen.
Zum Wort diskret finden sie im Wiktionary, s. http://de.wiktionary.org/
wiki/diskret, u.a. folgende Erläuterung:
[2] lateinisch: discretus, Partizip Perfekt von discernere (la) = unterscheiden
Diskrete Strukturen werden wir recht frei interpretieren: wir schauen uns verschiedene Formalisierungen an, die bestimmte Aspekte von Systemen (und deren Strukturen) aus wohlunterscheidbaren (= diskreten) Elementen untersuchbar machen, z.B.
Graphen, auf deren Basis man z.B. Suchprobleme lösen kann. Auch die Logik befasst sich mit diskreten Strukturen (zumindest auf der syntaktischen Ebene).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 3
Inhalte
•
•
•
•
Mengen und das Unendliche
Logik: Die Wissenschaft vom Schließen
Graphische Modelle
Problemlösung mit Graphen
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 4
Ziele aus der Modulbeschreibung
• Die Studierenden erkennen die grundlegende Bedeutung von diskreten Strukturen für Analyse, Darstellung und Lösung von Problemen in der Informatik.
• Sie beherrschen die elementaren automatisierten Beweisverfahren der Logik und
können diese anwenden.
• Sie kennen die grundlegenden Begrifflichkeiten der Graphentheorie und Kombinatorik und können Probleme entsprechend darstellen. Ausgewählte Problemstellungen können sie lösen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 5
Literatur...
Kaufen Sie erstmal nichts! Aber schauen können Sie in
•
•
•
•
Schöning: Logik für Informatiker, 5.Aufl., Spektrum, 2000
Smullyan: Logical Labyrinths, Peters, 1. Auflage, 2009
Deiser: Einführung in die Mengenlehre, Springer, 3. Auflage, 2009
Wilson: Introduction to Graph Theory, Prentice-Hall, 5. Edition, 2010
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 6
Mehr Literatur...
Übergang zu ADS (in der vorlesungsfreien Zeit lesen):
• Gritzmann, Brandenberg: Das Geheimnis des kürzesten Weges, Springer, 2.
Aufl., 2003
Für den Blick über den Tellerrand dieser Vorlesung:
• Schöning: Ideen der Informatik, Oldenbourg, 3. Auflage, 2008
Wenn sinnvoll, werden weitere Quellen zu den einzelnen Themen angegeben.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 7
Unterlagen...
Für Skriptversionen, Übungsblätter, aktuelle Nachrichten usw. schauen Sie bitte unter
http://www.informatik.fh-gelsenkirchen.de/conen/index.htm
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 8
Mengen und das Unendliche
Was ist Mengenlehre?
„Die Mengenlehre ist die Untersuchung von Ordnung und Größe in der Mathematik.“ (Oliver Deiser in Einführung in die Mengenlehre, 2002, Springer)
Für uns liefert die Mengenlehre die grundlegende diskrete Struktur schlechthin:
Mengen!
Sie liefert außerdem die grundlegenden Begriffsbestimmungen für viele “höhere”
diskrete Strukturen, die wir in der Informatik verwenden: Logik, Graphen, Modelle
allgemein, . . .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 9
Mengen und das Unendliche
Fragen zur Mengenlehre
• Was ist eine Menge, was ist ein Element, was ist eine Relation, was ist eine
Funktion?
• Wie definiert man Mengen?
• Wie mißt man die Größe einer Menge? Wie vergleicht man Mengen?
• Was kann man mit der Mengenlehre tun?
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 10
Mengen und das Unendliche
Historischer Überblick
Die Mengenlehre wurde im letzten Viertel des 19. Jahrhunderts von G EORG C AN TOR entwickelt - zunächst galt das (nicht unproblematische) „naive Komprehensionsprinzip“:
„Zu jeder Eigenschaft existiert die Menge aller Objekte, auf die diese
Eigenschaft zutrifft“
E RNESTO Z ERMELO und andere (u.a. auch J OHN
genlehre axiomatisch präzisiert und formalisiert.
VON
N EUMANN !) haben die Men-
Die axiomatische Mengenlehre kann alle Objekte der Mathematik zur Verfügung
stellen, z.B. Zahlen aller Art, Funktionen, geometrische Gebilde etc. - d.h. es existieren auf dem Mengenbegriff basierende Definitionen dieser Begriffe, die alle erwünschten und in der Mathematik benötigten Eigenschaften der Objekte bereitstellt.
Die Mengenlehre eignet sich damit als Grundlagendisziplin für die Mathematik selbst
(und auch die Informatik)!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 11
Mengen und das Unendliche
Menge und Element
Im weiteren schreiben wir für „a ist Element von X “ a ∈ X .
C ANTOR 1895 im Original: „Unter einer Menge verstehen wir jede Zusammenfassung M von bestimmten wohlunterschiedenen Objekten m unserer Anschauung
oder unseres Denkens (welche die Elemente von M genannt werden) zu einem
Ganzen.“
„Zwei Mengen sind genau dann gleich, wenn sie dieselben Elemente haben“ (Extensionalitätsprinzip)
Den Begriff Menge hat übrigens B ERNARD B OLZANO eingeführt. Neben Menge wurden auch Mannigfaltigkeit, Gesamtheit, Inbegriff, Varietät, und Klasse verwendet (die
Liste ist sicher nicht komplett).
Heute gilt Menge als ein nicht weiter definierter Grundbegriff - irgendwo muss man
anfangen!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 12
Mengen und das Unendliche
Mengen sind Ideen . . .
Nochmals C ANTOR: „Unter einer ... Menge verstehe ich nämlich allgemein jedes
Viele, welches sich als Eines denken läßt, d.h. jeden Inbegriff bestimmter Elemente,
welcher durch ein Gesetz zu einem Ganzen verbunden werden kann, und ich glaube
hiermit etwas zu definieren, was verwandt ist dem Platonischen ... iδα.“
Mengen existieren als Ideen unabhängig von uns! (Und dies gilt allgemein für die
Objekte der Mathematik)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 13
Mengen und das Unendliche
Zahlen
Wir setzen:
•
•
•
•
N = „die Menge der natürlichen Zahlen“
Z = „die Menge der ganzen Zahlen“
Q = „die Menge der rationalen Zahlen“
R = „die Menge der reellen Zahlen“
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 14
Mengen und das Unendliche
Natürliche und ganze Zahlen
• Die natürlichen Zahlen, N, enthalten die 0 als Element.
• Natürliche Zahlen schreiben wir in Dezimalschreibweise: 0,1,2,3,. . . ,10,11,. . . .1
• Eine ganze Zahl schreiben wir in der Form +n oder −n, wobei n eine natürliche
Zahl ist. Also +0,-0,+1,-1,+2,-2 . . . . Es gilt +0 = −0.
• Jede nichtleere Menge von natürlichen Zahlen hat ein kleinstes Element. Ist A
eine nichtleere Menge von natürlichen Zahlen, so sei min(A) = „das (eindeutig
bestimmte) kleinste Element von A (Minimum von A)“
Beispiel: min({7, 9, 15, 4, 6}) = 4.
1 Regelmäßig finden sie auch Autoren, die N mit {1, 2, 3, . . . } gleichsetzen und bei Hinzunahme der 0 dann N
0
schreiben. Das wollen wir nicht tun, denn 0 ist ja keine un-natürliche Zahl, sondern eine ganz „normale“ natürliche Zahl,
die in N gehört. Es kann Sinn machen, für {1, 2, 3, . . . } N+ zu verwenden.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 15
Mengen und das Unendliche
Rationale Zahlen
Schreibweisen:
• Bruch: +n/m bzw. −n/m, mit n, m ∈ N, m 6= 0
• Endlicher Dezimalbruch: ±n, a1 . . . ak
• Periodisch endender, unendlicher Dezimalbruch: ±n, b1 . . . bma1 . . . ak a1 . . . ak . . .
(wobei n, m, k ∈ N und 0 ≤ ai, bj < 10 für alle 1 ≤ i ≤ k bzw. 1 ≤ j ≤ m
gilt.)
Beispiele:
−17/8 = −2, 125,
1/7 = 0, 142857142857142857 . . . ,
1/700 = 0, 00142857142857142857 . . . ,
1/3 = 0, 333 . . .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 16
Mengen und das Unendliche
Reelle Zahlen
• Dezimalbruch: ±n, a1a2a3 . . . , n ∈ N, 0 ≤ ai < 10 für alle i ≥ 1.
• Sei x eine reelle Zahl. Ist eine Dezimaldarstellung von x in der Form
±n, a1 . . . ak 000 . . . , so sagen wir, dass diese Dezimaldarstellung von x trivial
endet.
• Jede reelle, von 0 verschiedene Zahl x hat eine eindeutige nicht trivial endende Dezimaldarstellung! Es gilt beispielsweise:
1,000
1,1245000. . .
-1,01000
=
=
=
0,999. . .
1,1244999. . .
-1,009999. . .
Diese nicht-triviale Dezimaldarstellung nennen wir die kanonische (unendliche)
Dezimaldarstellung von x. Beachte: 0,000. . . ist die kanonische, unendliche Dezimaldarstellung der 0.
Anmerkung: Keine Angst, diese etwas seltsame Darstellung benötigen wir nur in genau einem (wichtigen!) Beweis
– ansonsten können sie Zahlen so darstellen, wie sie es gewohnt sind.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 17
Mengen und das Unendliche
Mathematische Objekte
Wir setzten im Weiteren N, Q, Z, R, die üblichen Rechenoperationen und die natürlichen Ordnungsbeziehungen < und ≤ als gegeben voraus.
Die mathematischen Grundobjekte (Urelemente) sind die natürlichen,
ganzen, rationalen und reellen Zahlen.
Jede Menge ist ein mathematisches Objekt.
Beachten Sie: Ist b eine Menge und a ∈ b, so ist a ein Grundobjekt oder eine
Menge.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 18
Mengen und das Unendliche
Einige Konvention
• Wir identifizieren n ∈ N mit +n ∈ Z
• +n bzw. −n ∈ Z mit +n/1 bzw. −n/1 ∈ Q
• ±n, a1 . . . ak ∈ Q mit ±n, a1 . . . ak 000 · · · ∈ R, d.h., jede natürliche Zahl ist
eine ganze Zahl, jede ganze Zahl eine rationale Zahl und jede rationale Zahl
eine reelle Zahl.
• Der Betrag |x| einer reellen Zahl x ist definiert durch
|x| =
(
x,
−x,
falls x ≥ 0,
sonst.
Später führen wir die Mächtigkeit einer Menge M ein, diese wird mit |M | bezeichnet, der Bezug wird Verwechselungen verhindern.
• Sind x1, . . . , xn reelle Zahlen, so bezeichnet min(x1, . . . , xn) die Kleinste und
max(x1, . . . , xn) die Größte der Zahlen x1, . . . , xn.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 19
Mengen und das Unendliche
Einfache Mengenbildungen
• a ∈ b: „a ist Element von b“, „a Element b“, „a in b“
• a∈
6 b (oder auch non(a ∈ b)): „a ist nicht Element von b“
Definition 1. [Direkte Angabe der Elemente, Einermengen, Paarmengen]
Seien n ∈ N, n ≥ 1 und a1, . . . , an Objekte. Wir setzen:
{a1, . . . , an} = „die Menge, die genau a1, . . . , an als Elemente enthält“.
Speziell heißen für Objekte a, b die Menge {a} die Einermenge von a und {a, b}
die (ungeordnete) Paarmenge von a, b.
Es gilt also für alle x x ∈ {a1, . . . , an} gdw. x = ai für ein i ∈ N mit 1 ≤ i ≤ n.
Hier steht gdw. für genau dann, wenn bzw. dann und nur dann, wenn.
Beachte: Für die Bildung von Paarmengen ist a 6= b nicht vorausgesetzt! Nach dem
Extensionalitätsprinzip gilt:
{a} = {a, a} = {a, a, . . . , a}
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 20
Mengen und das Unendliche
{a, b} = {b, a}
{a, b} = {a} gdw. a = b
Definition 2. [Leere Menge]
Wir setzen:
∅ = „die Menge, die keine Elemente enthält“.
∅ heißt die leere Menge oder die Nullmenge. Sie wird auch mit {} bezeichnet.
Merke: Die leere Menge kann Element einer anderen Menge sein! M = {∅} =
{{}} hat ein Element (die leere Menge). M = {∅, {∅}} hat zwei (verschiedene!)
Elemente.
Jetzt können wir Mengen durch Aufzählung definieren (in dem wir ihre Extension,
also ihre Elemente, angeben). „Einfacher“ ist es häufig, Mengen über eine Eigenschaft, die ihren Elementen gemeinsam ist, zu definieren.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 21
Mengen und das Unendliche
Mengenbildung über Eigenschaften
Definition 3.
Sei E(x) eine Eigenschaft. Wir setzen:
{x|E(x)} = „die Menge aller Objekte x, auf die E(x) zutrifft“.
Wir sagen auch: {x|E(x)} ist die „Menge aller x mit E(x)“.
Es gilt z.B. z ∈ {x|E(x)} gdw. E(z) (die Eigenschaft also für z gilt).
Eine genaue Definition von Eigenschaften ist hier (noch) nicht nötig. Intuitiv ist eine
Eigenschaft E eine mathematische Aussage über mathematische Objekte. Es gilt
für jedes Objekt z und jede Eigenschaft E entweder E(z) oder non(E(z)) (d.h., z
hat die Eigenschaft E oder es hat die Eigenschaft E nicht).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 22
Mengen und das Unendliche
Auswahl von Elementen
Man bezieht sich häufig auf eine bereits definierte Menge und wählt Elemente daraus aus, z.B. U = {x ∈ N|x ist ungerade} (alle ungeraden natürlichen Zahlen).
Definition 4. [Aussonderung]
Sei M eine Menge und E(x) eine Eigenschaft. Wir setzen:
{x ∈ M |E(x)} = {x|x ∈ M und E(x)}
Jede „aufgezählte“ Menge der Form {a1, . . . , an} können wir auch über eine Eigenschaft definieren („intensional“): {a1, . . . , an} = {x|x = a1 oder . . . oder x = an}.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 23
Mengen und das Unendliche
Das naive Komprehensionsprinzip
(Komprehension: lat. Zusammenfassung)
Naives Komprehensionsprinzip für Eigenschaften: Ist E eine Eigenschaft über
mathematische Objekte, so existiert die Menge {x|E(x)} aller Objekte x, für die
E(x) erfüllt ist.
Dieses Prinzip führt zu Problemen! Wir kommen darauf zurück.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 24
Mengen und das Unendliche
Teilmengen
Definition 5. [Teilmenge und Obermenge]
Seien a und b Mengen.
1. a ist Teilmenge von b, in Zeichen a ⊆ b, falls für alle x ∈ a gilt x ∈ b.
2. a ist echte Teilmenge von b, in Zeichen a ⊂ b, falls a ⊆ b und a 6= b.
3. Ist a ⊆ b, so heißt b Obermenge von a, in Zeichen b ⊇ a.
4. Ist a ⊂ b, so heißt b echte Obermenge von a, in Zeichen b ⊃ a.
Wenn Sie nach einer Definition für = suchen, dann erinnern Sie sich an das Extensionalitätsprinzip: zwei Mengen sind genau dann gleich, wenn Sie die gleichen
Elemente haben, mit anderen Worten: Seien a und b Mengen. Dann schreiben wir
a = b, falls für alle x ∈ a gilt x ∈ b und für alle x ∈ b gilt x ∈ a, oder, kürzer:
Definition 6. [Gleichheitskriterium]
Für alle Mengen a, b gilt: a = b gdw. a ⊆ b und b ⊆ a.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 25
Mengen und das Unendliche
Beachten sie: Die leere Menge ist Teilmenge jeder Menge (mit folgender Begründung: es ist für eine Menge M zu überprüfen, ob jedes x ∈ ∅ auch in M ist. Es gibt
aber gar keine x in ∅, also ist jedes x ∈ ∅ in M ! q.e.d)
Die Teilmengen-„Relation“ ⊆ ist transitiv: seien Mengen a, b, c mit a ⊆ b und
b ⊆ c, dann gilt auch a ⊆ c!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 26
Mengen und das Unendliche
Einfache Operationen mit Mengen (1)
Definition 7. [Vereinigung; Schnitt; Subtraktion; Disjunktheit]
Seien a, b Mengen. Die Vereinigung a ∪ b (sprich: a vereinigt b), der Schnitt a ∩ b
(a geschnitten b) und die Subtraktion a − b (oft auch: a\b, sprich a minus b bzw. a
ohne b) sind definiert durch:
a ∪ b = {x|x ∈ a oder x ∈ b}
a ∩ b = {x|x ∈ a und x ∈ b}
a − b = {x|x ∈ a und x 6∈ b} = {x ∈ a|x 6∈ b}
a und b heißen disjunkt, falls a ∩ b = ∅ (d.h., ihre Schnittmenge ist leer).
Assoziativgesetze für Vereinigung und Durchschnitt:
Seien a, b, c Mengen. Dann gilt:
(i)
(a ∪ b) ∪ c = a ∪ (b ∪ c)
(ii) (a ∩ b) ∩ c = a ∩ (b ∩ c)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 27
Mengen und das Unendliche
Einfache Operationen mit Mengen (2)
Definition 8. [Relative Komplemente]
Seien a, b Mengen und a ⊆ b. Dann heißt b − a das relative Komplement von
a in b. Ist b fixiert, so nennen wir b − a kurz das Komplement von a, und setzen
ac = b − a.
Satz 9. [Eigenschaften der relativen Komplemente] Sei d eine Menge. Weiter
seien a, b ⊆ d. Dann gilt für die relativen Komplemente in d:
(i)
a ∪ ac = d
(ii)
a ∩ ac = ∅
(iii) (a ∩ b)c = ac ∪ bc
(iv) (a ∪ b)c = ac ∩ bc.
Die beiden letzen Aussagen werden auch als de Morgansche Regeln bezeichnet.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 28
[Advanced]
Mengen und das Unendliche
Beweise der letzten Aussagen
Zu (iii): Wir zeigen zunächst (a ∩ b)c ⊆ ac ∪ bc: Sei x ∈ (a ∩ b)c, so gilt
(1) x ∈ d und
(2) x 6∈ a oder x 6∈ b.2
Für x 6∈ a ist wg. 1. x ∈ d − a = ac.
Für x 6∈ b ist wg. 1. x ∈ d − b = bc.
Also gilt immer: x ∈ ac oder x ∈ bc, also x ∈ ac ∪ bc.
Nun zu (a ∩ b)c ⊇ ac ∪ bc: Sei x ∈ ac ∪ bc, dann gilt: x ∈ d − a oder x ∈ d − b.
Im ersten Fall ist x ∈ d − (a ∩ b) wg. d − a ⊆ d − (a ∩ b).
Im zweiten Fall ist x ∈ d − (a ∩ b) wg. d − b ⊆ d − (a ∩ b).
Also gilt in beiden Fällen:
x ∈ d − (a ∩ b) = (a ∩ b)c.
Aus dem Gleichheitskriterium folgt die behauptete Aussage (a ∩ b)c = ac ∪ bc.
(iv) läßt sich analog zeigen.
2 Warum? x ist im Komplement von (a ∩ b), d.h. x ∈ (d − (a ∩ b)), also gilt x ∈ d und x 6∈ a ∩ b. Das Zweite ist
gleichbedeutend (äquivalent) mit x 6∈ a oder x 6∈ b.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 29
Mengen und das Unendliche
Weitere einfache Eigenschaften
Distributivgesetz: Für alle Mengen a, b, c gilt:
(i)
(a ∪ b) ∩ c = (a ∩ c) ∪ (b ∩ c)
(ii) (a ∩ b) ∪ c = (a ∪ c) ∩ (b ∪ c)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 30
Mengen und das Unendliche
Mengensysteme
Definition 10. [Mengensysteme]
Ein Mengensystem M ist eine Menge, deren Elemente alle Mengen sind, d.h. M
enthält keine Grundobjekte als Elemente.
Sei nun M ein Mengensystem.TDann setzen wir:
Durchschnitt von M :
M = {x| Für alle a ∈ M ist x ∈ a}
S
Vereinigung von M :
M = {x| es existiert ein a ∈ M mit x ∈ a}
S
T
Erläuterung: Streng nach Definition (so sagt Deiser) gilt: ∅ = ∅ und ∅ = {x| ist
T
ein Objekt }. Deiser erklärt: Sei x beliebig. Wir zeigen x ∈ ∅. Hierzu ist zu zeigen:
Für alle a ∈ ∅ gilt x ∈ a. Es gibt aber gar keine a ∈ ∅, also ist die Aussage sicher
richtig. So ganz streng nach der Definition ist das Zweite aber im Grunde nur unter
Berücksichtigung einer Setzung, die auf einer Konvention in der (mathematischen)
Logik beruht, zu der wir später noch kommen werden: eine Eigenschaft ist für alle
x ∈ M genau dann erfüllt, wenn es kein x ∈ M gibt, für dass sie nicht erfüllt ist
– und dies ist insbesondere immer dann erfüllt, wenn es gar kein x in M gibt – das
letztere ist die Konvention, deren Sinn man philosophisch hinterfragen könnte.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 31
Mengen und das Unendliche
Potenzmenge
Definition 11. [Potenzmenge]
Sei M eine Menge. Dann ist die Potenzmenge von M , in Zeichen P(M ), die
Menge aller Teilmengen von M : P(M ) = {a|a ⊆ M }
• Für alle Mengen M gilt: ∅ ∈ P(M ), M ∈ P(M ).
• Weiter gilt für alle Mengen a: mit a ∈ P(M ) folgt M − a ∈ P(M ).
Beispiel:
M = {1, 2, 3}
P(M ) = { ∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} }
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 32
[Advanced]
Mengen und das Unendliche
Grundlegende Fragen
(A) Was ist eigentlich ein mathematisches Objekt?
– Alle mathematischen Objekte (Zahlen, Funktionen, usw.) können als Mengen
interpretiert werden.
(B) Welche mathematischen Objekte (=Mengen) existieren?
– Axiome bestimmen grundlegende Mengen. Axiome und darin verwendete Eigenschaften von Mengen/Objekten werden als logische Formeln formuliert. Mit ihrer
Hilfe kann man die Existenz von Mengen folgern und Zusammenhänge zwischen
Mengen beweisen.
Beispiel Potenzmengenaxiom: Zu jeder Menge M existiert die Potenzmenge von
M , d.h.: Für alle M gibt es ein P mit der Eigenschaft: Für alle x gilt x ∈ P gdw.
x ⊆ M.
Als logische Formel: ∀M ∃P ∀x(x ∈ P ↔ ∀y(y ∈ x → y ∈ M )), zu lesen als:
Für alle M existiert ein P , so dass für alle x gilt: x ist in P genau dann, wenn für
alle y gilt: aus y in x folgt y in M .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 33
[Advanced]
Mengen und das Unendliche
Mit der Abkürzung a ⊆ b für ∀c(c ∈ a → c ∈ b): ∀M ∃P ∀x(x ∈ P ↔ x ⊆ M )
Verwendete Symbole:
∀ entspricht „für alle“
∃ entspricht „es existiert ein“ (mindestens eins, nicht genau eins!)
→ entspricht „(es) folgt“ (bzw. „aus . . . folgt . . . “)
↔ entspricht „gdw.“
(C) Was genau ist ein mathematischer Beweis einer Aussage?
– Eine schrittweise Umformung von Formeln mit Hilfe eines Kalküls, der Regeln
angibt, wie bestimmte Zeichenketten in andere verwandelt werden dürfen.
Mit den Axiomen und einem präzisen Beweisbegriff kann man metamathematische
Fragen stellen, z.B. Was ist beweisbar?. Wesentlich sind folgende Fragen:
(L1) Ist das Axiomensystem widerspruchsfrei? (Zu bejahen, wenn die Aussagen
0 = 1 oder ∃x x 6= x sich formal nicht aus den Axiomen ableiten lassen)
(L2) Ist das Axiomensystem vollständig? (Zu bejahen, wenn für jede Aussage φ ein
Beweis von φ oder ein Beweis der Negation von φ, in Zeichen ¬φ, existiert – jede
Aussage läßt sich also entweder beweisen oder widerlegen)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 34
[Advanced]
Mengen und das Unendliche
Glauben Sie, dass sich ein solches Axiomensystem für die Mengenlehre (und, darauf aufbauend, für die anderen Zweige der Mathematik) finden läßt?
K URT G ÖDEL beantwortete in den 30er Jahren des 20. Jahrhunderts die Fragen wie
folgt (aufbauend auf F REGE , H ILBERT, RUSSELL):
(zu L1): Wir können es nicht sicher wissen: die Widerspruchsfreiheit der axiomatischen Mengenlehre ist unbeweisbar!
(zu L2): Nein! Ist das zugrunde gelegte Axiomensystem der Mengenlehre widerspruchsfrei, so gibt es stets Aussagen, die weder beweisbar noch widerlegbar sind!
(Ist es widerspruchsvoll, dann verliert die Frage ihren Sinn, denn dann ist jede Aussage beweisbar)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 35
Mengen und das Unendliche
Abbildungen zwischen Mengen
• Sehr nützlich ist der Begriff des geordneten Paares P von zwei Objekten a,b, in
Zeichen: P = (a, b). Aber in der Mengenlehre gilt immer: {a, b} = {b, a} für
zwei beliebige Objekte a,b.
• Geordnete Paare müssen die folgende Eigenschaft erfüllen: (a, b) = (c, d) gdw.
a = c und b = d.
Definition 12. [Geordnetes Paar] 3
Seien a, b Objekte. Dann ist das geordnete Paar von a und b, in Zeichen (a, b),
definiert durch: (a, b) = {{a}, {a, b}}
3 Andere Definitionen sind möglich, z.B. von Hausdorff die Obige ist von Kuratowski): (a, b) = {{a, 1}, {b, 2}}. Die
ist aber nicht so schön, weil wir neue, von a und b unterscheidbare Objekte einführen müssen, und für ein Paar aus
diesen Objekten 1 und 2 brauchen wir dann neue „Indikatorobjekte“ usw.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 36
Mengen und das Unendliche
Kreuzprodukt
Definition 13. [Kreuzprodukt oder kartesisches Produkt]
Seien A, B Mengen. Dann ist das Kreuzprodukt von A, B , in Zeichen A × B
(sprich: A kreuz B ), definiert durch: A × B = {(a, b)|a ∈ A, b ∈ B} = {x|x =
(a, b) für ein a ∈ A und ein b ∈ B}.
Beispiel: Für A = {1, 2} und B = {a, b, c} ist
A × B = {(1, a), (1, b), (1, c), (2, a), (2, b), (2, c)}.
Das Kreuzprodukt sammelt also alle Möglichkeiten ein, die Objekte der beiden beteiligten Mengen miteinander zu paaren. Man kann das Kreuzprodukt natürlich auch
für 3 oder mehr Mengen definieren:
Das n-fache kartesische Produkt über einer Menge A ist die Menge aller n-Tupel
von Elementen aus A: An = A×· · ·×A = {(a1, . . . , an)|ai ∈ A, i = 1, . . . , n}.
Es ist A1 = A.
Analoges kann man mit n verschiedenen Mengen A1, . . . , An definieren, nur gibt
es dann natürlich die abkürzende Schreibweise An nicht.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 37
Mengen und das Unendliche
Relation
Mit Hilfe der geordneten Paare können wir nun den Begriff der Relation definieren
(wir kennen bereits die Beziehungen/Relationen =,⊆,∈ usw.):
Eine Relation ist eine Menge von geordneten Paaren.
D.h., jede Menge R von geordneten Paaren liefert eine Relation (genannt R). Zwei
Objekte a, b stehen in der Relation R zueinander genau dann, wenn (a, b) ∈ R.
Definition 14. [Relation]
Eine Menge R heißt (zweistellige) Relation, falls jedes x ∈ R ein geordnetes Paar
ist. Ist A eine Menge und gilt R ⊆ A × A, so heißt R Relation auf A.
Sind a, b Objekte und gilt (a, b) ∈ R, so schreiben wir hierfür auch aRb (InfixNotation).
Beispiel: Für A = {1, 2} und B = {a, b, c} (s. Kreuzproduktbeispiel) bestimmt
jede Teilmenge von A × B eine Relation, z.B. R1 = {(1, a), (2, b)} oder auch
R2 = {(1, a), (1, b), (2, b), (2, c)}.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 38
Mengen und das Unendliche
Definitions- und Wertebereich
Definition 15. [Definitionsbereich, Wertebereich]
Sei R eine Relation. Wir setzen:
dom(R) = {a| es existiert ein b mit (a, b) ∈ R}
rng(R)
= {b| es existiert ein a mit (a, b) ∈ R}.
dom(R) heißt der Definitionsbereich von R (dom für engl. domain).
rng(R) heißt der Wertebereich von R (rng für engl. range).
Beispiel: Der Definitionsbereich dom(R1) von R1 aus dem letzten Beispiel ist
{1, 2}, der Wertebereich rng(R1) ist {a, b}.
• Die Ordnungsbeziehungen „kleiner“ und „kleinergleich“ auf den Zahlmengen
N, Z, Q, R sind Relationen:
<N= {(n, m) ∈ N × N|n ist kleiner als m}
≤Q= {(p, q) ∈ Q × Q | p ist kleiner als q oder p ist gleich q}.
• Man kann nun z.B. ≤R als <R ∪{(x, x)|x ∈ R} definieren.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 39
Mengen und das Unendliche
• Es gilt <N ⊆ <Z ⊆ <Q ⊆ <R (den Index lassen wir i.d.R. weg).
• Zur Schreibweise: Normalerweise schreiben wir (a, b) ∈<N als a <N b, beide
Schreibweisen sind austauschbar.
Definition 16. [reflexiv, symmetrisch, transitiv]
Sei R eine Relation auf einer Menge A.
1. R heißt reflexiv, falls für alle x ∈ A gilt xRx.
2. R heißt symmetrisch, falls für alle x, y ∈ A gilt: aus xRy folgt yRx.
3. R heißt transitiv, falls für alle x, y, z ∈ A gilt: aus xRy und yRz folgt xRz .
Anmerkung: Diese Definition läßt sich auch auf Relationen zwischen zwei Mengen
B, C anwenden, indem man B ∪ C = A setzt.
Definition Umkehrrelation:
Sei R eine Relation. Dann ist R−1 = {(b, a)|(a, b) ∈ R} die Umkehrrelation zu R.
−1
Anmerkungen: R−1
= R, R ist die Umkehrrelation zu R−1.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 40
Mengen und das Unendliche
Äquivalenzrelation
Definition 17. [Äquivalenzrelation]
Sei R eine Relation auf einer Menge A. R heißt Äquivalenzrelation auf A, falls R
reflexiv, symmetrisch und transitiv ist.
Für jedes x ∈ A ist dann die Äquivalenzklasse von x bzgl. der Äquivalenzrelation
R, in Zeichen x/R (sprich: x modulo R), definiert durch x/R = {y ∈ A|xRy}.
Weiter ist A/R (Sprich: A modulo R) definiert durch A/R = {x/R|x ∈ A}.
x/R ist also die Menge aller Elemente aus A, die mit x in Relation R stehen. A/R ist die Menge all dieser Klassen.
Beispiel: für ein festes m ∈ N, m ≥ 1, sei die Relation %m auf N definiert durch:
%m = {(a, b) ∈ N × N| a und b haben den gleichen Rest bei Division durch m }.
Dann ist %m eine Äquivalenzrelation auf N (prüfen sie: %m ist reflexiv, symmetrisch
und transitiv). Für m = 3 gilt z.B. 2 %3 5 (denn beide lassen sich mit Rest 1 durch 3
teilen) und es gibt genau drei Äquivalenzklassen (welche? Natürlich die natürlichen
Zahlen, die sich mit Rest 0, 1 oder 2 durch 3 teilen lassen) – übrigens bilden diese
drei Klassen eine Zerlegung von N.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 41
Mengen und das Unendliche
Der Funktionsbegriff
Intuition: eine Funktion kann man als eine „Vorschrift“ ansehen, die Objekten andere
Objekte eindeutig zuordnet. Aber zunächst definieren wir den Begriff „extensional“:
Definition 18. [Funktion]
Sei f eine Menge von geordneten Paaren. f heißt Funktion, falls für alle a, b1, b2
gilt: aus (a, b1) ∈ f und (a, b2) ∈ f folgt b1 = b2. (Rechtseindeutigkeit)
Funktionen sind rechtseindeutige Relationen!
Wir schreiben auch f (a) = b für (a, b) ∈ f .
Definition 19. [Bild unter einer Funktion]
Ist f eine Funktion und f (a) = b, so heißt b das Bild von a unter f .
Definition 20. [Funktion von A nach B ]
Sei f eine Funktion und seien A, B Mengen. f heißt Funktion von A nach B , in
Zeichen f : A → B , falls gilt: dom(f ) = A und rng(f ) ⊆ B . Die Menge B
werden wir auch Zielbereich nennen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 42
Mengen und das Unendliche
Beispiel: Bei f (n) = 0 für alle n ∈ N schreibt man z.B. f : N → N.
Definition 21. [injektiv,surjektiv,bijektiv]
Sei f eine Funktion.
1. f heißt injektiv, falls für alle a1, a2, b gilt: aus f (a1) = b und f (a2) = b folgt
a1 = a2. (Linkseindeutigkeit: es werden nur verschiedene b „getroffen“!)
2. f heißt surjektiv nach B , falls gilt rng(f ) = B , d.h. für alle b ∈ B existiert ein
a ∈ dom(f ) mit f (a) = b. (Alle b aus B werden getroffen!)
3. f heißt bijektiv von A nach B , falls gilt: f ist injektiv und surjektiv von A nach
B . (Jedes b aus B wird genau einmal getroffen!)
Beachten Sie: die Eigenschaft injektiv benötigt keinen Zielbereich, um gelten zu
können (also können alle Funktionen nach Def. 18 diese Eigenschaft haben). Surjektivität und Bijektivität machen hingegen nur Sinn, wenn man sich für einen bestimmten Zielbereich interessiert (also können nur Funktionen, für die ein solcher
Bezug nach Def. 20 angegeben wurde, auf Surjektivität und Bijektivität untersucht
werden).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 43
Mengen und das Unendliche
Einige einfache Folgerungen (s. auch Übung):
1. Ist f : A → B , so ist f : A → rng(f ) surjektiv.
2. Ist f : A → B injektiv, so ist f : A → rng(f ) bijektiv.
3. Ist f : A → B bijektiv, so existiert ein bijektives g : B → A.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 44
Mengen und das Unendliche
Einfache Operationen auf Funktionen (I)
Definition 22. [Einschränkung und Fortsetzung einer Funktion]
Seien f : A → B und C ⊆ A. Dann setzen wir f |C = {(a, b) ∈ f |a ∈ C}. f |C
heißt die Einschränkung von f auf C .
Sind f, g Funktionen mit f ⊆ g , so heißt g eine Fortsetzung von f .
Definition 23. [Umkehrfunktion]
Sei f eine injektive Funktion. Dann ist die Umkehrfunktion von f , in Zeichen f −1,
definiert durch f −1 = {(b, a)|(a, b) ∈ f }.
−1
Es gilt: f −1 ist injektiv, dom(f −1) = rng(f ), rng(f −1) = dom(f ), f −1
= f.
Beachten Sie: Injektivität und Umkehrbarkeit bauen auf dem allgemeinen Funktionsbegriff aus Def. 18 auf, sie benötigen also keinen Zielbereich, um zu „funktionieren“.
Definition 24. [Verkettung/Verknüpfung von Funktion]
Seien f : A → B und g : B → C . Dann ist die Verkettung g ◦ f der Funktionen
f und g (sprich: g nach f), definiert durch: g ◦ f = {(a, c)|a ∈ A, (f (a), c) ∈ g}.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 45
Mengen und das Unendliche
Einfache Operationen auf Funktionen (II)
Definition 25. [Identität]
Sei A eine Menge. Dann ist die Identität auf A, in Zeichen idA, definiert durch
idA = {(a, a)|a ∈ A}.
Es gilt idA : A → A. idA ist natürlich eine Bijektion von A nach A.
Satz 26. [Verkettung zur Identität]
(a) Die folgenden Aussagen sind äquivalent:
(i) f : A → B ist injektiv
(ii) Es existiert eine Funktion g : B → A mit g ◦ f = idA
(b) Die folgenden Aussagen sind äquivalent:
(i) f : A → B ist surjektiv
(ii) Es existiert eine Funktion g : B → A mit f ◦ g = idB
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 46
[Advanced]
Mengen und das Unendliche
Beweis zur ersten Äquivalenz
Beweis: Beachten Sie zunächst, dass zwei Aussagen (i) und (ii) äquivalent sind,
in Zeichen (i) ⇔ (ii), wenn die eine jeweils aus der anderen folgt, also (i) ⇒ (ii) und
(ii) ⇒ (i). Äquivalenzen von drei oder mehr Aussagen kann man zeigen, indem man
Ringe von Schlüssen bildet. Bei drei Aussagen (i),(ii),(iii) zeigt man dann z.B. (i)
⇒ (ii), (ii) ⇒ (iii) und (iii) ⇒ (i). Aus der Transitivität der logischen Implikation folgt
dann auch (i) ⇒ (iii), (iii) ⇒ (ii) und (ii) ⇒ (i), und damit folgen die gewünschten
Äquivalenzen.
Hier ist aber nur die Äquivalenz von zwei Aussagen zu zeigen. Nun zu (a): Wir
zeigen zunächst (i) ⇒ (ii), d.h. wir zeigen, dass aus der Injektivität einer Funktion
f : A → B folgt, dass eine Funktion g : B → A existiert mit g ◦ f = idA.4
Seien B 0 = rng(f ) und a ∈ A beliebig. Definiere nun g : B → A durch g|B 0 =
f −1 (das sind also die Fälle, in denen b aus dem Range von f stammt) und g(b) = a
4 Unsere Aufgabe ist es, eine Funktion g tatsächlich anzugeben, die die gewünschte Eigenschaft hat. Intuitiv ist klar,
dass die Umkehrfunktion von f eine wichtige Rolle spielen wird. Allerdings trifft f nicht notwendigerweise alle Elemente
von B , deshalb müssen wir die Umkehrfunktion noch sinnvoll erweitern für die Fälle, in denen ein b ∈ B nicht im Range
von f liegt.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 47
[Advanced]
Mengen und das Unendliche
für b 6∈ B 0. Dann ist natürlich g ◦ f = idA.
Nun zur Richtung (ii) ⇒ (i): Sei f (a1) = b = f (a2) für a1, a2 ∈ A. Dann ist
g(b) = g(f (a1)) = idA(a1) = a1 und g(b) = g(f (a2)) = idA(a2) = a2, also
a1 = a2. Also ist f injektiv.5
Ganz ähnlich gehen wir beim Beweis von (b) vor:
(i) ⇒ (ii): Definiere g : B → A durch g(b) = „ein a ∈ A mit f (a) = b“. Beachte:
Ein a ∈ A mit f (a) = b existiert wg. rng(f ) = B nach Voraussetzung. Dann
gilt g : B → A und nach Definition von g ist f (g(b)) = b für alle b ∈ B . Also
f ◦ g = idB .
(ii) ⇒ (i): Sei b ∈ B . Wg. f ◦ g = idB ist f (g(b)) = b. Also ist b ∈ rng(f ), denn
f (a) = b für a = g(b). Also ist f : A → B surjektiv.
5 Hier wird also die Injektivitätbedingung geprüft – eine Funktion ist injektiv, wenn es kein Objekt in ihrem Range gibt,
das von zwei Objekten des Domains getroffen wird – mit anderen Worten: wenn für zwei beliebig ausgewählte Objekte
aus dem Domain die Bilder gleich sind, dann müssen die Objekte selbst identisch sein.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 48
[Advanced]
Mengen und das Unendliche
Forts. zu Funktionen
Definition 27. [Bild, Urbild]
Sei f eine Funktion. Weiter seien A ⊆ dom(f ) und B eine beliebige Menge. Wir
00
00
setzen f A = {f (a)|a ∈ A} und f −1 B = {a ∈ dom(f )|f (a) ∈ B}.
00
00
f heißt das Bild von A unter f (sprich: f zwei Strich von A). f −1 B heißt das
Urbild von B unter f .
00
00
Es gilt f A ⊆ rng(f ) für alle A ⊆ dom(f ) und f −1 B ⊆ dom(f ) für alle Mengen
B . (Warum?)
Manche sprechen anstelle von Funktion auch von Abbildung, Transformation, Zuordnung oder auch Operator. Das suggeriert irgendeine „Tätigkeit“ – wir nehmen
hier anstelle einer etwas vagen, leicht geheimnisvoll scheinenden Position, die einer
Funktion etwas Dynamisches zuschreibt, eine Position ein, in der die Funktion nichts
tut, sondern (im statischen Sinne) nur ist. [In Anlehnung an P.R.Halmos, 1982, in „Naive Mengenlehre“]
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 49
Mengen und das Unendliche
Größenvergleiche
Wie vergleichen Neandertaler zwei große Haufen Nüsse? Große Zahlen kennen Sie
nicht! Wiegen können Sie nicht!
Der Algorithmus des Abtragens:
Nimm je eine Nuss von Haufen H1 und eine von Haufen H2 weg und lege sie
beiseite.
Wiederhole diese Paarbildung, bis einer der beiden Haufen aufgebraucht ist.
Mögliche Resultate:
(I) H1 ist am Ende aufgebraucht.
(II) H2 ist am Ende aufgebraucht.
(III) H1 und H2 sind am Ende aufgebraucht.
Das entspricht den drei Fällen:
(I) H1 hat weniger oder ebensoviele Nüsse wie H2.
(II) H2 hat weniger oder ebensoviele Nüsse wie H1.
(III) H1 und H2 haben gleichviele Nüsse.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 50
Mengen und das Unendliche
Diese Entsprechung bezeichnen wir als Korrektheit der Algorithmus, von der wir
intuitiv überzeugt sind (hoffentlich ;)
Übersetzen wir das bisher gesehene in unsere Sprache der Mengenlehre: Der Algorithmus erzeugt eine Funktion: Sei f die Menge aller Paare (a, b) ∈ H1 × H2,
die während des Abtragens entstehen.
Im Fall (I) ist f : H1 → H2 injektiv.
Im Fall (II) ist g = f −1 = {(b, a)|(a, b) ∈ f }. Dann ist g : H2 → H1 injektiv.
Im Fall (III) ist f : H1 → H2 bijektiv.
Aus der Korrektheit des Algorithmus folgt, dass das Ergebnis nicht vom Verlauf der
Paarbildung abhängt, d.h. jede mögliche Durchführung bzw. Funktion f , liefert das
gleiche Resultat.
Wir setzen:
|H1| ≤ |H2|, falls (I) eintritt.
|H2| ≤ |H1|, falls (II) eintritt.
|H1| = |H2|, falls (III) eintritt.
Beachte: Die Begriffe mehr, weniger, gleichviel beruhen nicht auf dem Zahlbegriff!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 51
Mengen und das Unendliche
Definition 28. [Größenvergleich] Seien A und B Mengen. Dann ist die Mächtigkeit von A kleinergleich der Mächtigkeit von B , in Zeichen |A| ≤ |B|, falls gilt:
Es existiert ein injektives f : A → B .
Definition 29. [Gleichmächtig] Seien A und B Mengen. Dann ist A gleichmächtig zu B , in Zeichen |A| = |B|, falls gilt: Es existiert ein bijektives f : A → B .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 52
[Advanced]
Mengen und das Unendliche
Cantor-Bernstein
Wir kommen jetzt zu einem wichtigen Satz, den C ANTOR 1883 formulierte und den
der 19-jährige F ELIX B ERNSTEIN 1897 bewies, den Satz von Cantor-Bernstein.
Der Satz selbst besagt etwas scheinbar triviales: Aus |M | ≤ |N | und |N | ≤ |M |
folgt |N | = |M |, d.h., wenn es zwei Injektionen f : M → N und g : N → M gibt,
so gibt es auch eine Bijektion h : M → N . Dies ist allerdings keineswegs klar!
B ERNSTEIN benötigte zunächst einen vorbereitenden Satz:
Satz 30. [Inklusionssatz(**)] 6 Seien M, N Mengen mit N ⊆ M und |N | = |M |.
Weiter sei N 0 eine Menge mit N ⊆ N 0 ⊆ M . Dann gilt |N 0| = |M | = |N |.
6 (**)Gibt es solche Mengen N, M, N 0 überhaupt? Nehmen wir mal an, dass alle Mengen paarweise verschieden
sind. Dann folgt aus N ⊆ M , dass jedes Element von N auch in M ist. Wir können also in jedem Fall eine Injektion
von N nach M finden, nämlich die Identität, die jedem Element aus dem Definitionsbereich sich selbst zuordnet. Aus
|N | = |M | folgt, dass es sogar eine Bijektion zwischen M und N gibt. Im Endlichen folgt hier unmittelbar N = M !
Und damit ergibt sich der Rest von selbst (denn aus N ⊆ N 0 ⊆ M und N = M folgt unmittelbar N 0 = M – und
der Inklusionssatz ist ziemlich inhaltsleer). Allerdings können wir das noch gar nicht so genau zeigen, denn der Begriff
der Endlichkeit ist noch nicht definiert. Aber im Unendlichen wird der Inklusionssatz wieder interessant (fragen sie sich
einmal, ob es mehr natürliche Zahlen gibt, als gerade natürliche Zahlen!)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 53
[Advanced]
Mengen und das Unendliche
Satz 31. [Inklusionssatz, alternative Formulierung**]
Seien A, B, C paarweise disjunkte Mengen mit |A ∪ B ∪ C| = |A|. Dann gilt auch
|A ∪ B ∪ C| = |A ∪ B|.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 54
Mengen und das Unendliche
Cantor-Bernstein (II)
Satz 32. [Äquivalenzsatz von C ANTOR -B ERNSTEIN]
Seien M, Q Mengen mit |M | ≤ |Q| und |Q| ≤ |M |. Dann gilt |M | = |Q|.
Definition 33. [Echt kleinere Mächtigkeit]
Seien A, B Mengen. A ist von echt kleinerer Mächtigkeit als B , in Zeichen |A| <
|B|, falls |A| ≤ |B| und |A| 6= |B|.
Folgerung: Aus |A| < |B| und |B| < |C| folgt |A| < |C|.
Satz 34. [Vergleichbarkeitssatz]
Seien M, N Mengen. Dann gilt |M | ≤ |N | oder |N | ≤ |M |.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 55
Mengen und das Unendliche
Unendliche Mengen (I)
Seien N = {0, 1, 2, 3, . . . } und G = {0, 2, 4, 6, . . . } die Menge der geraden
Zahlen. Definiere f : N → G durch
f (n) = 2n für n ∈ N.
Dann ist f : N → G bijektiv! Es gilt also: |N| = |G|. Zudem ist G ⊂ N.
Beachten Sie, dass beide „Größenbegriffe“ (Mächtigkeit und Inklusion) durchaus
sinnvoll sind. Bedenken Sie aber auch, dass manche Mengen hinsichtlich der Inklusion gar nicht in eine Ordnung gebracht werden können – die Teilmengenbeziehung
ist weniger „universell“ als der Mächtigkeitsbegriff (wenn es um „Größe“ geht), z.B.
können Sie mit der Teilmengenrelation nicht eine Menge von Äpfeln und eine Menge
von Birnen vergleichen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 56
Mengen und das Unendliche
Unendliche Mengen (II)
Definition 35. [Unendlichkeit nach Dedekind]
Sei M eine Menge. M heißt unendlich, falls es eine echte Teilmenge N von M
gibt, die sich bijektiv auf M abbilden läßt, d.h. es gibt ein N ⊂ M mit |N | = |M |.
Hilbert’sche Hotel: Dieses sehr spezielle Hotel hat für jede natürliche Zahl ein Zimmer – allerdings sind alle Zimmer belegt! Dennoch schafft es der Portier immer
wieder, neue Gäste unterzubringen:
(i) Jeder alte Gast zieht von Zimmer n nach Zimmer n + 1.
(ii) Der neue Gast wird in Zimmer 0 einquartiert.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 57
Mengen und das Unendliche
Einige Sätze über unendliche Mengen
Satz 36. [Übertragung der Unendlichkeit auf Obermengen]
Seien A, B Mengen und es gelte A ⊆ B . Dann gilt: Ist A unendlich, so ist auch B
unendlich.
Beweis: Sei A unendlich. Dann existieren A0 ⊂ A und f : A → A0 bijektiv.
Definiere g : B → B durch:
(
g(b) =
f (b), falls b ∈ A
b,
falls b 6∈ A.
Also g = f ∪ idB−A. Wg. f : A → A injektiv ist g injektiv. Weiter ist rng(g) =
rng(f ) ∪ (B − A) = A0 ∪ (B − A) ⊂ B wegen A0 ⊂ A, A ⊆ B . Also ist g eine
Bijektion von B auf die echte Teilmenge rng(g) von B , und damit ist B unendlich.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 58
Mengen und das Unendliche
Satz 37. [Übertragung der Unendlichkeit auf gleichmächtige u. größere Mengen]
Seien A, B Mengen und es gelte |A| ≤ |B|. Dann gilt: Ist A unendlich, so ist
auch B unendlich.
Satz 38. [Entfernen eines Elementes]
Sei A eine unendliche Menge. Weiter seien a ∈ A und B = A − {a}. Dann ist
auch B unendlich.
Korollar 39. [Hinzufügen eines Elementes]
Sei B eine endliche Menge, a ein beliebiges Objekt, a 6∈ B . Weiter sei A = B ∪
{a}. Dann ist auch A endlich.
Der Apparat, der uns zur Verfügung steht, ist bisher ein wenig schwerfällig. Wir verknüpfen jetzt die Endlichkeit enger mit den natürlichen Zahlen:
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 59
Mengen und das Unendliche
Endlichkeit und natürliche Zahlen
Definition 40. [Die Mengen n̄ für n ∈ N]
Für n ∈ N sei n̄ = {0, 1, . . . , n − 1} = {m ∈ N|m < n}.
Übrigens: Funktioniert der Algorithmus des Abtragens eigentlich, wenn beide Mengen unendlich sind?
Satz 41. [Endlichkeit von n̄]
Jede Menge n̄ ⊂ N ist endlich.
Korollar 42.
Seien n, m ∈ N und sei f : n̄ → m̄ bijektiv. Dann gilt n = m.
Satz 43. [Einbettbarkeit der natürlichen Zahlen in unendliche Mengen]
Sei M eine Menge. Dann sind äquivalent:
(i) M ist unendlich
(ii) |N| ≤ |M |.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 60
Mengen und das Unendliche
Satz 44. [Charakterisierung der endlichen Mengen mit Hilfe der natürlichen Zahlen]
Sei M eine Menge. Dann sind äquivalent:
(i) M ist endlich
(ii) Es existiert ein n ∈ N mit |M | = |n̄|.
Die Vereinigung zweier endlicher Mengen ist endlich.
Die Vereinigung endlich vieler endlicher Mengen ist endlich.
Alternative Definition von Endlichkeit/Unendlichkeit:
Eine Menge M ist endlich, falls es ein n ∈ N gibt mit |M | = |n̄|. Eine Menge ist
unendlich, falls sie nicht endlich ist.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 61
[Advanced]
Mengen und das Unendliche
Anmerkungen zur Unendlichkeit
DAVID H ILBERT, 1925: „Durch diese Bemerkung wollte ich nur dartun, daß die endgültige Aufklärung über das Wesen des Unendlichen weit über den Bereich spezieller fachwissenschaftlicher Interessen vielmehr zur Ehre des menschlichen Verstandes selbst notwendig geworden ist . . . “
„Die Endlichkeit des Wirklichen haben wir nun in zwei Richtungen festgestellt: nach
dem Unendlichkleinen und dem Unendlichgroßen. Dennoch könnte es sehr wohl
zutreffen, daß das Unendliche in unserem Denken einen wohlberechtigten Platz hat
und die Rolle eines unentbehrlichen Begriffs einnimmt . . . “
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 62
Mengen und das Unendliche
Abzählbare Mengen
Definition 45. [Abzählbare Mengen] Eine Menge M heißt abzählbar, falls gilt:
(i) M ist endlich, oder
(ii) es existiert ein f : N → M bijektiv.
Satz 46. Sei M eine Menge. Dann sind äquivalent:
M ist abzählbar,
|M | ≤ |N|.
Beweis: (i) ⇒ (ii): Sei M abzählbar. Ist M endlich, so existiert ein n̄ mit |M | = |n̄|,
und dann gilt offenbar |M | ≤ |N|. Ist |M | = |N|, so ist trivialerweise |M | ≤ |N|
(ii) ⇒ (i): Sei |M | ≤ |N| und f : M → N injektiv. Definiere, solange möglich,
x0 = min(rng(f )), xn+1 = min(rng(f ) − {x0, . . . , xn}).
Ist n minimal mit xn nicht definiert, so ist |M | = |n̄|. Ist xn definiert für alle n ∈ N,
so gilt |M | = |N|, denn g : N → N mit g(n) = xn für n ∈ N ist bijektiv. Also ist M
abzählbar.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 63
Mengen und das Unendliche
Satz 47. Sei M eine unendliche Menge. Dann existiert eine abzählbar unendliche
Teilmenge von M .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 64
Mengen und das Unendliche
Forts. Abzählbarkeit
Die „entscheidende“ Frage: Ist jede Menge abzählbar?
Es folgen einige Beispiel: Sind die ganzen Zahlen abzählbar?
Z = {. . . , −1, 0, 1, . . . }
f : Z → N definiert durch
f (x) =
(
2x,
falls x ≥ 0,
−2x − 1 falls x < 0
(1)
Dann ist f bijektiv!
Also ist Z abzählbar!
Satz 48. Seien A und B abzählbar, dann ist auch A ∪ B abzählbar!
Beweis: Übung!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 65
Mengen und das Unendliche
Forts. Abzählbarkeit
Ist N × N abzählbar?
Satz 49. N × N ist abzählbar.
Beweis: Hier hilft die berühmte Cantor’sche Paarungsfunktion: definiere π : N ×
N → N bijektiv durch
π(a, b) = 1/2(a + b)(a + b + 1) + a.
Beispiel: π(1, 2) = 1/2(1 + 2)(1 + 2 + 1) + 1 = 7
Übrigens: Es gibt nur dieses eine Polynom zweiten Grades, das N × N aufzählen
kann (und natürlich seine symmetrische Form).
Siehe auch http://de.wikipedia.org/wiki/Cantorsche_Paarungsfunktion.
Dort wird übrigens am Ende b addiert, nicht a (das ist die erwähnte symmetrische
Form).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 66
Mengen und das Unendliche
Forts. Abzählbarkeit
Das Ergebnis kann man auf höhere Dimensionen verallgemeinern: ein πn : Nn → N
existiert für alle n ≥ 2! (und ist dann ein Polynom n-ten Grades).
Satz 50. Eine Vereinigung abzählbar vieler abzählbarer Mengen ist abzählbar!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 67
[Advanced]
Mengen und das Unendliche
Forts. Abzählbarkeit - Beweis zum Satz 50
Beweis: Seien An, n ∈ N, abzählbare Mengen. Für jedes n ∈ N fixieren wir ein
fn : An → N injektiv.
S
Sei A = n∈N An. Sei π : N × N → N bijektiv (etwa die Cantor’sche Paarungsfunktion).
Wir definieren g : A → N durch:
g(x) = π(n, fn(x)),
wobei n = „das kleinste n ∈ N mit x ∈ An“ ist. Dann ist g injektiv, also |A| ≤ |N|.
Erläuterungen: Wie kommt man auf die Idee, ein solches g anzugeben – und wieso
ist es injektiv? Versuchen wir mal, den Gedankengang mit einem Beispiel nachzuvollziehen. Zunächst sollten wir aber festhalten, was wir tun müssen: wir suchen
eine injektive Abbildung von A (das steht für die Vereinigung der abzählbar vielen
abzählbaren Mengen) in die natürlichen Zahlen, denn wir wissen nach Satz 46, dass
A dann abzählbar ist. Wie finden wir eine solche Abbildung?
Zunächst schauen wir mal ein Beispiel für die Mengen An an, z.B. so: A0 =
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 68
[Advanced]
Mengen und das Unendliche
{1, 5, 7}, A1 = {2, 3, 4, 5}, A2 = {2, 4, 6, . . . }, A3 = {1, 3, 5, 7, . . . }, . . . .
Weil jede Menge An abzählbar ist, muß es für jede eine Funktion fn geben, die injektiv von An nach N zeigt, also jedem Element aus An eine Nummer zuordnet. Geben wir mal solche Funktionen für unsere Mengen von oben
an: f0 = {(1, 1), (5, 2), (7, 4)}, f1 = {(2, 1), (3, 2), (4, 3), (5, 4)}, f2 =
{(2, 2), (4, 4), (6, 6), . . . }, f3 = {(1, 1), (3, 2), (5, 3), (7, 4), (9, 5), (11, 6), . . . },
....
Eine erste Idee auf der Suche nach g könnte es sein, alle fn in
S
einen Topf zu werfen, also g =
=
n∈N fn zu bilden, d.h. hier g
{(1, 1), (5, 2), (7, 4), (2, 1), (3, 2), (4, 3), (5, 4), (2, 2), . . . }. Das ist aus zwei
Gründen problematisch. Schauen wir zunächst auf das erste Problem: g geht zwar
von A aus, aber es ist keine Funktion mehr! So wird z.B. die 5 auf die 2, die 4,
die 3 und eventuell auf weitere Zahlen abgebildet. Dieses Problem können wir wie
folgt heilen: wir suchen für jedes Element x aus A nach den Mengen, in denen es
vorkommt und bestimmen dann den kleinsten Index n dieser Mengen. Im Beispiel
wäre das die 0 für 1, 5, 7, die 1 für 2, 3, 4 (nicht die 5!), die 2 für 6, 8, . . . , die 3 für
9, 11, . . . usw.
Jetzt wollen wir mit dieser Regel in unser g nur alle Paare (x, fn(x))
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 69
[Advanced]
Mengen und das Unendliche
aufnehmen. Beachten sie: für jedes x ∈ A gibt es jetzt genau ein
solches Paar, also ist das neue g eine Funktion. Es bleibt aber noch
das zweite Problem – schauen wir zunächst das neue g an: g
=
{(1, 1), (5, 2), (7, 4), (2, 1), (3, 2), (4, 3), (6, 6), (8, 8), . . . , (9, 5), (11, 6), . . . }.
Offensichtlich ist dieses g nicht injektiv, z.B. wird die 1 zweimal getroffen (von der
1 und der 2).
Wir können wir dieses Problem beseitigen? Wir können jedem x nicht nur den Funktionswert zuordnen, den er unter „seiner“ Funktion fn erhält, sondern auch noch
den Index der Funktion fn, wir ordnen jedem x also ein Paar (n, fn(x)) zu, d.h. wir
bilden eine Funktion g 0 = { (1, (0, 1)),(5, (0, 2)),(7, (0, 4)),(2, (1, 1)),(3, (1, 2)),
. . . }. Jetzt werden die getroffenen „Werte“, die jetzt geordnete Paare sind, nur genau einmal getroffen! So werden die beiden Zahlen 1 und 2, die oben noch beide
die 1 trafen, jetzt auf die Paare (0, 1) bzw. (1, 1) abgebildet – und das gilt natürlich immer: seien a1, a2 ∈ A mit a1 6= a2 und g 0(a1) = (n1, fn1 (a1)) und
g 0(a2) = (n2, fn2 (a2)). Dann gilt entweder n1 6= n2 (und damit sind die Paare
unterschiedlich) oder es gilt n1 = n2. Dann werden a1 und a2 aber von derselben
Funktion fn1 mit einem Funktionswert versehen. Weil aber jedes fn injektiv ist, muß
dann mit a1 6= a2 auch fn1 (a1) 6= fn1 (a2) gelten – also ist g 0 injektiv.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 70
[Advanced]
Mengen und das Unendliche
Jetzt haben wir also eine injektive Abbildung gefunden, die jedes x ∈ A mit einem
Paar aus N × N versorgt – wir wollen aber eine Funktion, die A nach N abbildet! Das
ist aber kein wirkliches Problem: wir wissen schon, dass N × N sich bijekttiv (also
auch injektiv!) nach N abbilden lässt, nämlich mit der Cantor’schen Paarungsfunktion π ! Die im Beweis angegebene Funktion g ist nichts anderes, als die Hintereinanderausführung von unserem gerade entwickelten g 0 und π , d.h. g = π ◦ g 0 d.d.
g(x) = π(g 0(x)) = π(n, fn(x))7, wobei n eben der kleinste Index der Mengen ist,
in denen x vorkommt. Das war’s – eigentlich ganz clever, oder?
7 Wir sind hier, wie auch bei er Einführung der Cantorschen Paarungsfunktion, etwas lax in der Schreibweise, denn wir
machen aus einem geordneten Paar (a, b) einfach zwei Parameter a und b, aber das ist als vereinfachende Schreibweise
völlig ok, solange keine Mißverständnisse entstehen können.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 71
Mengen und das Unendliche
Forts. Abzählbarkeit
Sind die rationalen Zahlen abzählbar?
Satz 51. Q ist abzählbar.
Beweis: Idee: Wir zerlegen Q in abzählbar viele abzählbare Teilmengen (und dann
wenden wir einfach Satzes 50!) an!). Ausführung: Für q ∈ Q seien N (q) bzw. Z(q)
Nenner bzw. Zähler des gekürzten Bruches |q|, wobei |q| = q für q ≥ 0 bzw.
|q| = −q für q < 0. Wir setzen für n ∈ N An = {q ∈ Q|N (q) + Z(q) = n}.
S
Dann ist jedes An abzählbar (sogar endlich!), und Q = n∈N An. Also ist Q abzählbar.
Veranschaulichung: Wie sehen die An aus? Z.B. ist A0 = {0}, A1 = {}, A2 = {1, −1}, A3 = {1/2, −1/2, 2, −2}
usw. 8
0
Anmerkung: Hinter diesem Beweis steht die folgende Spiral-Aufzählung des Z2 -Gitters. Für n ∈ N setzen wir An
0
= {(a, b) ∈ R2 | |a| + |b| = n und |a|, |b| ≤ n}. Die Mengen An sind Quadrate im Raum R2 mit den Ecken
(n, 0), (0, n), (−n, 0), (0, −n).
8A
1 ist leer, weil wir nur gekürzte Brüche betrachten und definieren wollen, dass 0 die gekürzte Variante für alle
Brüche der Form 0/m steht. Wenn wir das nicht wollen, könnten wir auch 0 in jede Menge aufnehmen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 72
Mengen und das Unendliche
Forts. Abzählbarkeit
Sind die reellen Zahlen abzählbar? Zunächst ein wenig Vorbereitung:
Definition 52. [Überabzählbare Mengen] Sei M eine Menge. M heißt überabzählbar, falls M nicht abzählbar ist.
Anmerkungen – offenbar sind die folgenden Aussagen äquivalent:
(i) M ist überabzählbar.
(ii) non(|M | ≤ |N|), d.h. es existiert kein injektives f : M → N.
(iii) Es existiert kein surjektives f : N → M
(iv) |N| < |M |.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 73
Mengen und das Unendliche
Forts. Abzählbarkeit der reellen Zahlen?
Satz 53. [Satz von C ANTOR über die Überabzählbarkeit der reellen Zahlen]
Die Menge R der reellen Zahlen ist überabzählbar.
Beweis: Es genügt zu zeigen: Es existiert kein surjektives f : N → R. Sei hierzu
f : N → R beliebig. Wir finden ein x ∈ R mit x 6∈ rng(f ) wie folgt.
Für n ∈ N schreiben wir f (n) in kanonischer unendlicher Dezimaldarstellung (mit
0 = 0, 0000 . . . ). Sei also
f (0) = z0, a0,0a0,1a0,2 . . .
f (1) = z1, a1,0a1,1a1,2 . . .
f (2) = z2, a2,0a2,1a2,2 . . .
f (3) = z3, a3,0a3,1a3,2 . . .
...
f (n) = zn, an,0an,1an,2 . . .
...
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 74
Mengen und das Unendliche
Wir definieren x = 0, b0b1b2 · · · ∈ R durch
(
1, falls an,n = 2,
bn =
2, falls an,n 6= 2.
Dann ist x in kanonischer Dezimaldarstellung (also eine reele Zahl), die sich aber
von jeder Zahl im Range von f an mindestens einer Stelle unterscheidet, denn für
jedes f (n) gilt, an,n 6= bn – also wird nicht jedes Element von R getroffen, d.h., f ist
nicht surjektiv, da x 6∈ rng(f )! Diese Beweismethode heißt Diagonalisierung, weil
wir eine Zahl konstruiert haben, die von Ziffern auf der Diagonale der angenommenen Tabelle abweicht. Merken sie sich: es geht darum, eine Zahl (oder später auch
etwas anderes) zu konstruieren, die nicht im Range einer vermeintlich surjektiven
Funktion liegen kann.
Korollar 54. [Jedes reelle Intervall ist überabzählbar]
Seien x, y ∈ R, x < y . Dann ist ]x, y[= {z ∈ R|x < z < y} überabzählbar.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 75
Mengen und das Unendliche
Weitere Resultate zur Überabzählbarkeit
Satz 55. [Subtraktion abzählbarer Mengen] Sei M eine überabzählbare Menge.
Weiter sei A ⊆ M abzählbar. Dann gilt |M − A| = |M |.
Satz 56. Es gilt |R| = |P(N)|.
Satz 57. [Satz von C ANTOR über die Potenzmengen] Sei M eine Menge und
P(M ) = {X|X ⊆ M } die Potenzmenge von M . Dann gilt |M | < |P(M )|.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 76
[Advanced]
Mengen und das Unendliche
Exkurs: Das Kontinuumsproblem
Cantors Kontinuumsproblem: Folgen die reellen Zahlen in der Hierarchie der Mächtigkeiten unmittelbar nach den natürlichen Zahlen oder gibt es eine Menge M , für
die gilt |N| < |M | < |R|?
H ILBERT (ein berühmter Mathematiker, der lange in Göttingen lebte und lehrte und
1900 auf einem Mathematiker-Kongress in Paris eine berühmte Rede hielt, in der er
eine Liste mit den 23 seiner Ansicht nach wichtigsten Problemen, die die Mathematik
im nächsten Jahrhundert lösen sollte, formulierte) stellte das Kontinuumsproblem an
den Anfang seiner Liste!
Es wurde erst 1938 (K URT G ÖDEL) bzw. 1963 (PAUL C OHEN) gelöst - und zwar
durch den Beweis seiner Unanhängigkeit von der gängigen Axiomatisierung der
Mengenlehre (trotzdem beschäftigen sich Mathematiker auch heute noch intensiv
mit verwandten Fragestellungen - wir aber in dieser Veranstaltung nicht)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 77
Mengen und das Unendliche
Ordnungen
Definition 58. [Lineare Ordnung] Sei M eine Menge und sei < ⊆ M × M eine
zweistellige Relation auf M . < heißt lineare Ordnung auf M , falls für alle a, b, c ∈
M gilt:
(i) non(a < a) (Irreflexivität)
(ii) aus a < b und b < c folgt a < c (Transitivität)
(ii) a < b oder a = b oder b < a (Linearität)
Beispiele: (N, <) etc.
Anmerkung: Relationen, die irreflexiv und transitiv sind, heißen auch partielle Ordnungen (d.h., alle linearen Ordnungen sind auch partiell, aber nicht umgekehrt).
Beispiele s. Übungen.
Zur Sprechweise: Ist X ⊆ M und s ∈ M , so bedeutet X < s, dass x < s für
alle x ∈ X . Analog sind X ≤ s, s < X und s ≤ X definiert. s heißt <-kleinstes
Element der Ordnung, falls s ≤ M . Analog ist das <-größte Element definiert.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 78
[Advanced]
Mengen und das Unendliche
Wohlordnungen
Definition 59. [Wohlordnung] Sei (M, <) eine lineare Ordnung. (M, <) heißt
Wohlordnung auf M , falls jede nichtleere Teilmenge M 0 von M ein <-kleinstes
Element hat, d.h. es gibt ein m ∈ M mit m ∈ M 0 und m ≤ x für alle x ∈ M 0.
(R, <) ist keine Wohlordnung, z.B. ist 0 die kleinste untere Schranke für die Menge
M 0 = {1/n|n ∈ N, n > 1} ⊆ R, aber 0 6∈ M 0.
Bemerkung: Es gilt der folgende Wohlordnungssatz von Z ERMELO:
Sei M eine Menge, dann existiert eine Wohlordnung < auf M .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 79
[Advanced]
Mengen und das Unendliche
Beweis des Induktionsprinzips
Induktionsprinzip: Sei E(n) eine Aussage. Es gelte:
(1) E(0)
(2) Für alle n ∈ N gilt: aus E(n) folgt E(n + 1)
Dann gilt E(n) für alle n ∈ N.
Beweisbar in der Mengenlehre (hier durch Widerspruch): Angenommen, es gibt
l ∈ N mit non E(l), d.h. die Eigenschaft gilt nicht für dieses l. Dann ist A = {l ∈
N| non E(l)} 6= ∅.
Da (N, <) wohlgeordnet ist, hat A ein kleinstes Element k, d.h. die Wohlordnungseigenschaft garantiert uns, dass wir ein konkretes Element aus der Menge A „in die
Hand“ nehmen können.
Nach (1) ist k 6= 0, denn sonst wäre die Eigenschaft ja erfüllt. Sei also k = m + 1
– ein solches m aus N existiert immer, denn k ist ja größer als 0 und zu jedem
Element n aus N − {0} gibt es einen Nachfolger n + 1.
Nach Definition von A und k gilt E(m), denn m muss ausserhalb von A liegen,
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 80
[Advanced]
Mengen und das Unendliche
sonst könnte k nicht das kleinste Element aus N sein, für das die Aussage nicht
erfüllt ist.
Nach (2) folgt aus E(m) aber E(m + 1), also E(k) wg. m + 1 = k im Widerspruch
zur Annahme, dass k ∈ A, es gibt also keine kleineste Element in A und damit gar
kein Element, also kann es auch kein l ∈ N geben, für das die Aussage nicht gilt!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 81
[Advanced]
Mengen und das Unendliche
Ein Paradox droht!
Erinnern Sie sich an unseren Barbier! Hier eine Variante – das RUSSELL Z ERMELO ’ SCHE PARADOX:
Sei R = {x ist eine Menge und x 6∈ x} die Menge aller Mengen, die nicht Element
von sich selbst sind. Dann gilt für alle Mengen y : y ∈ R gdw. y 6∈ y . Insbesondere
gilt dies auch für y = R. Dies ergibt aber R ∈ R gdw. R 6∈ R. Widerspruch!
Eine „Lösung“ ist, solche selbst-referentiellen Konstrukte nicht zuzulassen in der
Formulierung von Eigenschaften – man kann dann R nicht mehr als „Ganzes“ im
Sinne der Mengenlehre betrachten (dies passt zu der Definition C ANTORS, die wir
zu Beginn gesehen haben: Eine Menge ist jede Vielheit, die als Ganzes aufgefasst
werden kann, sie sagt nicht etwa, dass jede Vielheit als Ganzes aufgefasst werden
kann. Wir werden im folgenden sehr knapp eine Axiomatisierung („gesetzte“ Regeln)
der Mengenlehre betrachten, die die Paradoxien vermeidet – und zwar nicht durch
Verbote, sondern durch Konstruktionsvorschriften „von unten“, die sicher stellen, das
selbst-referentielle Paradoxien nicht auftreten können).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 82
[Advanced]
Mengen und das Unendliche
Axiomatische Mengenlehre
Alle Objekte sind Mengen und die einzigen Grundrelationen zwischen
Mengen sind die Gleichheit „a = b“ und die Elementbeziehung „a ∈ b“.
F RAENKEL (1928): „Dieser Aufbau der Mengenlehre verläuft nach der sog. axiomatischen Methode, die vom historischen Bestand einer Wissenschaft (hier der
Mengenlehre) ausgeht, um durch logische Analyse der darin enthaltenen Begriffe, Methoden und Beweise die zu ihrer Begründung erforderlichen Prinzipien – die
Axiome – aufzusuchen und aus ihnen die Wissenschaft deduktiv herzuleiten. . . . “
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 83
[Advanced]
Mengen und das Unendliche
Axiome der Mengenlehre – die ZFC-Axiome
Extensionalitätsaxiom (EXT): Zwei Mengen sind genau dann gleich, wenn sie die
gleichen Elemente haben.
Existenz der leeren Menge (LM): Es existiert eine Menge, welche keine Elemente
hat.
Paarmengenaxiom (PA): Zu je zwei Mengen x, y existiert eine Menge z , die genau
x und y als Elemente hat.
Vereinigungsmengenaxiom (VER): Zu jeder Menge x existiert eine Menge y , deren Elemente genau die Elemente der Elemente von x sind.9
Aussonderungsschema (AUS): Zu jeder Eigenschaft E und jeder Menge x gibt es
eine Menge y , die genau die Elemente von x enthält, auf die E zutrifft.10
9 Bedenken Sie, dass unsere Objekte alle Mengen sind. Hier geht es also um eine Menge y , die die Elemente der
Mengen, die in x enthalten sind – wie bei einer Vereinigung über die Mengen eines Mengensystems, s. Def. 10.
10 Beachten Sie: Dieses Schema „generiert“ unendlich viele Axiome, eines pro Eigenschaft, deshalb ist es ein sog.
Axiomenschema!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 84
[Advanced]
Mengen und das Unendliche
Unendlichkeitsaxiom (UN: Es existiert eine Menge x, die die leere Menge als Element enthält und die mit jedem ihrer Elemente y auf {y} als Element enthält. (Also
sind z.B. ∅, {∅}, {{∅}}, . . . Elemente von x).
Natürliche Zahlen: Sei E(u) die Eigenschaft „∅ ∈ u und mit jedem y ∈ u ist auch
{y} ∈ u.“. Wir setzen U = {u ∈ P(x)|E(u) (das ist das x aus dem Axiom). U existiert nach POT und AUS und besteht aus allen Teilmengen von x, die ∅, {∅}, . . .
T
enthalten. Insbesondere ist x ∈ U . Wir definierten nun: Z0 =
U . Dann besteht
Z0 genau aus den Mengen ∅, {∅}, . . . und jede Menge x0 aus dem Unendlichkeitsaxiom enthält Z0 als Teilmenge (Z0 ist die kleinste unendliche Menge).
Z0 kann man als Menge der natürlichen Zahlen auffassen:
0 = ∅, 1 = {∅}, 2 = {{∅}}, 3 = {{{∅}}} . . . , also
0 = ∅, 1 = {0}, 2 = {1}, 3 = {2}, . . .
Aus der Definition der Ordinalzahlen nach von N EUMANN und Z ERMELO folgt eine
andere Definition der natürlichen Zahlen (beides geht!):
0 = ∅, 1 = {0}, 2 = {0, 1}, 3 = {0, 1, 2}, . . .
Hier hat jedes n genau n Elemente und die ∈-Relation ordnet die natürlichen Zahlen linear (jede Zahl ist hier eine Menge, die in allen größeren Zahlen als Element
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 85
[Advanced]
Mengen und das Unendliche
vorkommt).
Potenzmengenaxiom (POT): Zu jeder Menge x existiert eine Menge y , die genau
die Teilmengen von x als Elemente besitzt.
Ersetzungsschema (ERS): Zu jeder funktionalen Eigenschaft E und jeder Menge
M existiert eine Menge N , die genau diejenigen y als Elemente enthält, für welche
ein x ∈ M existiert mit E(x, y). [Funktionale Eigenschaft: Ist E(x, y) eine Eigenschaft in zwei Variablen x und y , so heißt E(x, y) funktional, falls es für jedes x
genau ein y gibt mit E(x, y).]
Fundierungsaxiom (FUN): Jede nichtleere Menge x hat ein Element y , das mit x
kein Element gemeinsam hat.
Auswahlaxiom (AC): Ist x eine Menge, deren Elemente nichtleer und paarweise
disjunkt sind, so existiert eine Menge y , die mit jedem Element von x genau ein
Element gemeinsam hat.
Diese Axiome bilden die sogenannten ZFC-Axiome (Zermelo-Fraenkel-Choice).
Verschiedene Auswahlen aus diesen Axiomen wurden auch benannt: Z = ZFC ohne
ERS, FUN, AC; ZF = ZFC ohne AC; ZFC− = ZFC ohne POT; ZF− = ZF ohne POT.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 86
[Advanced]
Mengen und das Unendliche
ZFC und die Antinomien
In ZFC lösen sich die Antinomien auf: Für alle x existiert ein y ⊆ x mit y 6∈ x
(Satz nach Z ERMELO, 1908).
Beweis: Sei x beliebig. Nach dem Aussonderungsschema existiert y = {z ∈
x|z 6∈ z}. Dann gilt y 6∈ x, denn anderenfalls hätten wir y ∈ y gdw. y 6∈ y –
ein Widerspruch wie bei der RUSSELL -Z ERMELO-Paradoxie!
Daraus folgt z.B. unmittelbar, dass es kein x gibt mit der Eigenschaft: Für alle y ist
y ∈ x (denn ein solches x würde alle seine Teilmengen als Elemente enthalten, im
Widerspruch zum eben gezeigten Satz).
Ende des Mengenlehre-Kapitels!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 87
Logik: Die Wissenschaft vom Schließen
Syntax der Aussagenlogik
Definition 60. [Syntax der Aussagenlogik]
Eine atomare Formel hat die Form Ai (mit i = 1, 2, 3, . . . ).
Formeln werden durch folgenden induktiven Prozess definiert:
1. Alle atomaren Formeln sind Formeln.
2. Für alle Formeln F und G sind (F ∧ G) und (F ∨ G) Formeln.
3. Für jede Formel F ist ¬F eine Formel.
Sprechweisen: Eine Formel der Bauart ¬F heißt Negation von F ,
(F ∧ G) heißt Konjunktion von F und G,
(F ∨ G) heißt Disjunktion von F und G.
Eine Formel F , die als Teil einer Formel G auftritt, heißt Teilformel von G.
Beispiel: F = ¬((A5 ∧ A6) ∨ ¬A3) ist eine Formel und sämtliche Teilformeln von
F sind F , ((A5 ∧ A6) ∨ ¬A3), (A5 ∧ A6), A5, A6, ¬A3, A3
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 88
Logik: Die Wissenschaft vom Schließen
Wir vereinbaren die folgenden abkürzenden Schreibweisen (F1, F2 . . . sind beliebige Formeln):
A, B, C, . . .
statt A1, A2, A3, . . .
(F1 → F2) statt (¬F1 ∨ F2)
(F1 ↔ F2) statt ((F1 ∧ F2) ∨ (¬F1 ∧ ¬F2))
bzw. ((F1 → F2) ∧ (F2 → F1))
Beispiel: So ist z.B. (A ↔ E) eine Abkürzung für ((A1 ∧ A5) ∨ (¬A1 ∧ ¬A5)).
Beachten Sie, dass hier tatsächlich der fünfte Buchstabe des Alphabets, also E ,
für die atomare Formel mit der Nummer 5, also A5, verwendet wird. Bei hohen
Nummern wird eine solche Entsprechung allerdings unklar, für kleine n ist das aber
eine sinnvolle Konvention.
Bisher haben wir nur definiert, dass Formeln bestimmten Zeichenketten entsprechen. Diese Zeichenketten haben noch keine Bedeutung, die sie durch eine Belegung erhalten werden.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 89
Logik: Die Wissenschaft vom Schließen
Semantik der Aussagenlogik
Definition 61. [Semantik der Aussagenlogik]
Die Elemente der Menge {0, 1} heißen Wahrheitswerte. Eine Belegung ist eine
Funktion A : D → {0, 1}. Hier ist D eine Teilmenge der atomaren Formeln. Wir
erweitern A zu einer Funktion Ā : E → {0, 1}. Es gilt D ⊆ E . E ist die Menge
aller Formeln, die nur aus atomaren Formeln in D aufgebaut ist.
1. Für jede atomare Formel A ∈ D ist Ā(A) = A(A).
(
1, falls Ā(F ) = 1 und Ā(G) = 1
2. Ā((F ∧ G)) =
0, sonst
(
1, falls Ā(F ) = 1 oder Ā(G) = 1
3. Ā((F ∨ G)) =
0, sonst
(
1, falls Ā(F ) = 0
4. Ā(¬F ) =
0, sonst
Ā ist eine Fortsetzung (Def. 22) von A. Nachdem wir nun die formale Definition
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 90
Logik: Die Wissenschaft vom Schließen
korrekt ausführen konnten, vereinfachen wir uns die Schreibarbeit und schreiben A
für Ā.
Beispiel: Es sei A(A) = 1, A(B) = 1, und A(C) = 0. Dann ergibt sich
(
1, falls A(((A ∧ B) ∨ C)) = 0
A(¬((A ∧ B) ∨ C)) =
0, sonst
(
0, falls A(((A ∧ B) ∨ C)) = 1
=
1, sonst
(
0, falls A((A ∧ B)) = 1 oder A(C) = 1
=
1, sonst
(
0, falls A((A ∧ B)) = 1 (da A(C) = 0)
=
1, sonst
(
0, falls A(A) = 1 und A(B) = 1
=
1, sonst
= 0
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 91
Logik: Die Wissenschaft vom Schließen
Wahrheitstafeln
Die Operationen (bzw. Verknüpfungen) lassen sich auch durch Wahrheitstafeln darstellen:
A(F )
0
0
1
1
A(G)
0
1
0
1
A((F ∧ G))
0
0
0
1
A((F ∨ G))
0
1
1
1
A((F → G))
1
1
0
1
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
A((F ↔ G))
1
0
0
1
A(¬F )
1
1
0
0
Version 0.951, 18. Oktober 2011, Seite 92
Logik: Die Wissenschaft vom Schließen
Induktion: eine Anmerkung
Die Definition von Formeln ist eine induktive Definition: Es werden zunächst die
einfachsten Formeln definiert (die atomaren Formeln) und dann wird der Aufbau
zusammengesetzter Formeln aus diesen einfachen Formeln mit Hilfe von Verknüpfungen erklärt.
Ebenso induktiv ist die Belegung A definiert. Dieses Induktionsprinzip kann man
auch in Beweisen verwenden:
Um zu beweisen, dass eine Behauptung B(F ) für jede Formel F gilt, führt man
folgende Schritte durch:
1. Man zeigt, dass B(Ai) für jede atomare Formel Ai gilt
2. Man zeigt, dass unter der Induktionsannahme, dass B(H) und B(G) gelten,
folgt, dass B(¬H), B((H ∧ G)), und B((H ∨ G)) gelten.
Ein Beispiel für die Anwendung dieser Form der Induktion findet sich beim Ersetzbarkeitstheorem (Satz 66).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 93
Logik: Die Wissenschaft vom Schließen
Einige wichtige Begriffe (1)
Definition 62. [Passend, Modell]
Sei F eine Formel und A eine Belegung. Falls A für alle in F vorkommenden atomaren Formeln definiert ist, so heißt A zu F passend. [Zur Erinnerung hier in der Sprache
der Mengenlehre: Sei M die Menge aller in F vorkommenden atomaren Formeln. Dann ist die Belegung A, die ja eine
Funktion ist, genau dann passend zu F , wenn M ⊆ dom(A).]
Falls A zu F passend ist und A(F ) = 1 gilt, so sagen wir: F gilt unter der
Belegung A, oder: A erfüllt F , oder auch (wichtiger!): A ist ein Modell für F ,
symbolisch: A |= F . Falls A(F ) = 0, so sagen wir: Unter A gilt F nicht oder: A
ist kein Modell für F , symbolisch: A 6|= F .
Sei F eine Menge von Formeln (die auch unendlich groß sein kann!). Dann ist A ein
Modell für F, falls für alle F ∈ F gilt, dass A |= F .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 94
Logik: Die Wissenschaft vom Schließen
Einige wichtige Begriffe (2)
Definition 63. [Erfüllbar, unerfüllbar, gültig (Tautologie)]
Eine Formel F (oder eine Formelmenge F) heißt erfüllbar, falls sich für F (bzw.
F) mindestens ein Modell finden läßt, anderenfalls heißt F (bzw. F) unerfüllbar.
[Anmerkung: Eine Formel F ist also dann erfüllbar, wenn man eine Belegung A finden kann, die zu F passt und ein
Modell für F ist – mit anderen Worten: die Belegung muß die Formel F wahr werden lassen.]
Eine Formel F heißt gültig, falls jede zu F passende Belegung ein Modell für F
ist. Dann sagt man auch, dass F eine Tautologie ist, symbolisch |= F . Falls F
keine Tautologie ist, schreiben wir 6|= F (Vorsicht, das steht für „keine Tautologie“
und nicht für „unerfüllbar“!)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 95
Logik: Die Wissenschaft vom Schließen
Negationen von Tautologien sind unerfüllbar!
Satz 64. Eine Formel F ist eine Tautologie gdw. ¬F unerfüllbar ist.
Beweis: Es gilt:
F ist eine Tautologie
gdw. jede zu F passende Belegung ist ein Modell für F
gdw. jede zu F (und damit zu ¬F ) passende Belegung ist kein Modell für ¬F
gdw. ¬F besitzt kein Modell
gdw. ¬F ist unerfüllbar.
Merke: Die Negierung einer gültigen Formel führt zu einer unerfüllbaren Formel
(und umgekehrt). Die Negierung einer erfüllbaren, aber nicht gültigen Formel führt
wieder zu einer erfüllbaren, aber nicht gültigen Formel.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 96
Logik: Die Wissenschaft vom Schließen
Wahrheitstafeln
Um zu prüfen, ob eine Formel erfüllbar, gültig oder unerfüllbar ist, genügt es, die
endlich vielen verschiedenen Belegungen, die man zu den in F vorkommenden
atomaren Formeln finden kann, auf ihre Konsequenz für den Wahrheitswert von F
hin zu testen. Falls F n verschiedene atomare Formeln enthält, so sind dies genau
2n zu testende Belegungen.
A1:
A2:
.
.
A2n :
A1
0
0
A2
0
0
1
1
...
...
...
.
.
...
An−1
0
0
An
0
1
1
1
F
A1(F )
A2(F )
.
.
A2n (F )
F ist erfüllbar, falls der Wahrheitswerteverlauf von F (also die Spalte unter F )
mindestens eine 1 enthält [Anmerkung: Wenn man schreibt, dass etwas eine 1 enthält, dann meint man
immer mindestens eine, und nicht genau eine – man könnte also das mindestens im vorigen Satz auch weglassen]. F
ist eine Tautologie, wenn dort nur Einsen stehen, F ist unerfüllbar, wenn dort nur
Nullen stehen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 97
Logik: Die Wissenschaft vom Schließen
Beispiel zur Verwendung von Wahrheitstafeln
Beispiel: Es sei F = (¬A → (A → B)).
A
0
0
1
1
B
0
1
0
1
¬A
1
1
0
0
(A → B)
1
1
0
1
F
1
1
1
1
F ist also eine Tautologie!
Anmerkung: Wir lassen die Notation A() in der ersten Zeile der Wahrheitstafeln zur
Vereinfachung ab jetzt weg, es sollte jetzt klar sein, dass es letztlich um Belegungen
geht.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 98
Logik: Die Wissenschaft vom Schließen
Exkurs: Von der Schwere des Erfüllbarkeitsproblems
Die Wahrheitstafelmethode ist ein algorithmisches Verfahren, um die Erfüllbarkeit
einer Formel zu prüfen. Es ist aber sehr schnell sehr aufwendig – für 100 atomare
Formel wäre auch der schnellste heutige Rechner tausende Jahre beschäftigt!
Unglücklicherweise ist dieses Exponentialverhalten der Rechenzeit vermutlich
nicht generell einzudämmen (ausser für Einzelfälle), denn das Erfüllbarkeitsproblem
für die Aussagenlogik ist ein sogenanntes NP-vollständiges Problem (das heißt
in etwa, dass bis heute kein Algorithmus bekannt ist, der das Problem zum einen
löst und dessen Laufzeit sich zum anderen für eine gegebene Eingabe der Größe
n durch ein Polynom abschätzen läßt, also z.B. durch n3 + 7000. Man kann aber
andererseits sehr leicht prüfen, ob eine einzelne Belegung eine Formel erfüllt (mit
linearem Aufwand), deshalb gehört das Problem zu einer Klasse von „schweren“
Problemen, für die noch nicht abschließend geklärt ist, ob es nicht doch effiziente
Algorithmen geben kann, die das Problem mit polynomialem Aufwand lösen können. Mehr hierzu hören sie im zweiten Semester in ADS. Bis dahin können Sie aber
auch schon mal z.B. in Uwe Schönings Ideen der Informatik schmökern, wenn sie
mögen).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen
Version 0.951, 18. Oktober 2011, Seite 99
Logik: Die Wissenschaft vom Schließen
Äquivalenzen und Normalformen
Definition 65. [Semantische Äquivalenz] Zwei Formeln F und G heißen (semantisch) äquivalent, falls für alle Belegungen A, die sowohl für F als auch für
G passend sind, gilt A(F ) = A(G). Symbolisch: F ≡ G.
Achtung! Auch Formeln, die auf ungleichen Mengen von atomaren Formeln basieren, können äquivalent sein (Tautologien).
Satz 66. [Ersetzbarkeitstheorem (ET)]
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) einem
0
0
Vorkommen der Teilformel F . Dann ist H äquivalent zu H , wobei H aus H hervorgeht, indem (irgend) ein Vorkommen von F in H durch G ersetzt wird.
Beweis durch Induktion über den Formelaufbau:
Induktionsanfang: Falls H eine atomare Formel ist, dann kann nur H = F sein.
0
0
Und damit ist klar, dass H äquivalent zu H ist, denn H = G.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 100
Logik: Die Wissenschaft vom Schließen
Induktionsschritt: Falls F gerade H selbst ist, so trifft dieselbe Argumentation wie
beim Induktionsanfang zu. Sei also angenommen, dass F 6= H (aber F ist natürlich
weiterhin eine Teilformel von H ). Dann muß man drei Fälle unterscheiden:
Fall 1: H hat die Bauart H = ¬H1. Nach Induktionsannahme ist H1 äquivalent
0
0
zu H1, wobei H1 aus H1 durch Ersetzung von F durch G hervorgeht. Nun ist aber
0
0
0
H = ¬H1. Aus der (semantischen) Definition von ¬ folgt dann, dass H und H
äquivalent sind.
Fall 2: H hat die Bauart H = (H1 ∨ H2). Dann kommt F entweder in H1 oder in H2
vor. Nehmen wir den ersten Fall an (der zweite ist völlig analog, deshalb können wir
dies ohne Beschränkung der Allgemeinheit tun). Dann ist nach Induktionsannahme
0
0
H1 wieder äquivalent zu H1, wobei H1 aus H1 durch Ersetzung von F durch G
0
0
hervorgeht. Mit der Definition von ∨ ist dann klar, dass H ≡ (H1 ∨ H2) = H .
Fall 3: H hat die Bauart H = (H1 ∧ H2). Beweis analog zu Fall 2.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 101
Logik: Die Wissenschaft vom Schließen
Nützliche Äquivalenzen
(F ∧ F )
(F ∨ F )
(F ∧ G)
(F ∨ G)
((F ∧ G) ∧ H)
((F ∨ G) ∨ H)
(F ∧ (F ∨ G))
(F ∨ (F ∧ G))
(F ∧ (G ∨ H))
(F ∨ (G ∧ H))
¬¬F
¬(F ∧ G)
¬(F ∨ G)
(F ∧ G)
(F ∨ G)
(F ∧ G)
(F ∨ G)
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
F
F
(G ∧ F )
(G ∨ F )
(F ∧ (G ∧ H))
(F ∨ (G ∨ H))
F
F
((F ∧ G) ∨ (F ∧ H))
((F ∨ G) ∧ (F ∨ H))
F
(¬F ∨ ¬G)
(¬F ∧ ¬G)
G, falls F Tautologie
F , falls F Tautologie
F , falls F unerfüllbar
G, falls F unerfüllbar
(Idempotenz)
(Kommutativität)
(Assoziativität)
(Absorption)
(Distributivität)
(Doppelnegation)
deMorgansche Regeln
(Tautologieregeln)
(Unerfüllbarkeitsregeln)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 102
Logik: Die Wissenschaft vom Schließen
Beweisen der Äquivalenzen
Beweise: Alle Äquivalenzen können leicht mittels Wahrheitstafeln nachgeprüft werden. Bsp. erste Absorptionsregel
F
0
0
1
1
G
0
1
0
1
(F ∨ G)
0
1
1
1
(F ∧ (F ∨ G))
0
0
1
1
Die erste (für F ) und die vierte Spalte (für (F ∧ (F ∨ G))) stimmen überein, also
(F ∧ (F ∨ G)) ≡ F .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 103
Logik: Die Wissenschaft vom Schließen
Vereinfachung von Formeln
Beispiel: Mit den Äquivalenzen und dem Ersetzbarkeitstheorem können wir nun
viele Formeln vereinfachen. So können wir z.B. nachweisen, dass
((A ∨ (B ∨ C)) ∧ (C ∨ ¬A)) ≡ ((B ∧ ¬A) ∨ C)
Beweis: Es gilt ((A ∨ (B ∨ C)) ∧ (C ∨ ¬A))
≡ (((A ∨ B) ∨ C) ∧ (C ∨ ¬A))
(Assoziativität und ET)
≡ ((C ∨ (A ∨ B)) ∧ (C ∨ ¬A))
(Kommutativität und ET)
≡ (C ∨ ((A ∨ B) ∧ ¬A))
(Distributivität)
≡ (C ∨ (¬A ∧ (A ∨ B)))
(Kommutativität und ET)
≡ (C ∨ ((¬A ∧ A) ∨ (¬A ∧ B)))
(Distributivität und ET)
≡ (C ∨ (¬A ∧ B))
(Unerfüllbarkeitsregel und ET)
≡ (C ∨ (B ∧ ¬A))
(Kommutativität und ET)
≡ ((B ∧ ¬A) ∨ C)
(Kommutativität)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 104
Logik: Die Wissenschaft vom Schließen
Nieder mit den Klammern . . .
Das Assoziativgesetz ermöglicht uns, die Klammerung zu vereinfachen: die Schreibweise
F =A∧B∧C∧D
soll etwa für eine beliebige Formel der folgenden Aufzählung stehen:
F = (((A ∧ B) ∧ C) ∧ D)
F = ((A ∧ B) ∧ (C ∧ D))
F = ((A ∧ (B ∧ C)) ∧ D)
F = (A ∧ ((B ∧ C) ∧ D))
F = (A ∧ (B ∧ (C ∧ D)))
Analoges gelte für Disjunktionen (und natürliche auch für längere oder kürzere Konjunktionen bzw. Disjunktionen).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 105
Logik: Die Wissenschaft vom Schließen
. . . aber nicht mit allen!!
Wenn F eine Teilformel ist, dann müssen die äußeren Klammer erhalten bleiben!
(z.B., wenn sie das F von oben als Teil von z.B. G betrachten, wie in G = F ∨ H ,
also G = (A ∧ B ∧ C ∧ D) ∨ H , und nicht G = A ∧ B ∧ C ∧ D ∨ H , denn dann
wäre nicht mehr klar, ob Sie . . . C ∧ (D ∨ H) oder (. . . C ∧ D) ∨ H meinen – und
das macht einen Unterschied!
Wir verzichten also nicht ganz auf Klammern. Insbesondere haben wir keine sogenannte „Präzedenz“ der Operatoren vereinbart (eben deshalb ist im Beispiel eben
nicht klar, welche Variante gemeint ist). Klammern haben gegenüber einer Präzedenzregel den Vorteil, dass immer unmittelbar klar ist, was zusammengehört (das
vermeidet Fehler und Missverständnisse! Denken Sie hier auch an die Klammerung
der Boole’schen Ausdrücke, die von SUNs Code Conventions für Java empfohlen
wird! Sonst fragt man sich regelmäßig: wusste der Codierer des Programms tatsächlich, in welcher Reihenfolge die Auswertung seines ungeklammerten Ausdrucks
stattfindet?)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 106
Logik: Die Wissenschaft vom Schließen
Nützliche Verallgemeinerungen
Zunächst führen wir die abkürzende Schreibweisen (
Wn
und ( i=1 Gi) für G1 ∨ · · · ∨ Gn ein. Dann gilt:
Vn
i=1
Gi) für G1 ∧ · · · ∧ Gn
Satz 67. [Verallgemeinerte deMorgan’sche Regeln, verallg. Distributitivtät]
Vn
F
≡
(
i=1 ¬Fi )
i=1 i
Wn
Vn
¬( i=1 Fi) ≡ ( i=1 ¬Fi)
Wm
Wn
Wm Wn
(( i=1 Fi) ∧ ( j=1 Gj )) ≡ ( i=1( j=1(Fi ∧ Gj )))
Vm
Vn
Vm Vn
(( i=1 Fi) ∨ ( j=1 Gj )) ≡ ( i=1( j=1(Fi ∨ Gj )))
¬(
Wn
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 107
Logik: Die Wissenschaft vom Schließen
Normalformen
Jede Formel, auch wenn sie noch so kompliziert aussieht, kann in „einfacher“ strukturierte Normalformen gebracht werden. Das ist eine wichtige Voraussetzung, um dann möglichst einfach algorithmisch
die Erfüllbarkeit oder andere Eigenschaften der Formel prüfen zu können.
Definition 68. [Literal, Normalformen]
Ein Literal ist eine atomare Formel oder die Negation einer atomaren Formel (auch
positives Literal bzw. negatives Literal genannt).
Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von
Disjunktionen von Literalen ist, F hat also die Form
Vn Wmi
.
F = ( i=1( j=1 Li,j )) mit Li,j ∈ {A1, A2, . . . } ∪ {¬A1, ¬A2, . . . }
Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von
Konjunktionen von Literalen ist, F hat also die Form
Wn Vmi
F = ( i=1( j=1
Li,j )), mit Li,j wie eben.
Beispiel DNF: (A ∧ B) ∨ (A ∧ C) ∨ (B ∧ ¬D)
Beispiel KNF: (A ∨ B) ∧ (¬A ∨ ¬C) ∧ (B ∨ D)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 108
Logik: Die Wissenschaft vom Schließen
Äquivalente Normalformen
Satz 69. [Existenz äquivalenter Normalformen]
Für jede Formel F gibt es eine äquivalente Formel in KNF und eine äquivalente
Formel in DNF.
Der Beweis funktioniert wieder mittels Induktion über den Formelaufbau und ist konstruktiv (für endliche Formeln), d.h. er liefert ein rekursives Verfahren, um Formeln
in DNF bzw. KNF zu überführen. Wir schauen uns aber eine etwas direktere Umformungsmethode an (für sehr Neugierige: der Beweis findet sich z.B. auf den Seiten
27 und 28 der fünften Auflage von Uwe Schönings Buch Logik für Informatiker, 2000,
Spektrum Verlag).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 109
Logik: Die Wissenschaft vom Schließen
Eine Umformungsmethode zur Herstellung der KNF
Gegeben: Eine Formel F.
Erster Schritt: Ersetze in F jedes Vorkommen einer Teilformel der Bauart
¬¬G
¬(G ∧ H)
¬(G ∨ H)
durch
durch
durch
G
(¬G ∨ ¬H)
(¬G ∧ ¬H)
bis keine derartige Teilformel mehr vorkommt.
Zweiter Schritt: Ersetze jedes Vorkommen einer Teilformel der Bauart
(F ∨ (G ∧ H))
((F ∧ G) ∨ H)
durch
durch
((F ∨ G) ∧ (F ∨ H))
((F ∨ H) ∧ (G ∨ H))
bis keine derartige Teilformel mehr vorkommt.
Die resultierende Formel ist in KNF (es kommen eventuell noch überflüssige, aber
zulässige Disjunktionen vor, die Tautologien sind).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 110
Logik: Die Wissenschaft vom Schließen
Beispiel für eine Umformung in KNF
Gegeben: F = ¬(A ∨ B) ∨ (¬C ∧ D).
Umformung in KNF, 1. Schritt:
¬(A ∨ B) ersetzen: (¬A ∧ ¬B) ∨ (¬C ∧ D) = F 1.
2. Schritt:
F 1 hat die Form G ∨ (¬C ∧ D) mit G = (¬A ∧ ¬B). Also läßt sich die erste
Umformungsregel anwenden (die zweite Regel wäre auch anwendbar):
F 2 = (G ∨ ¬C) ∧ (G ∨ D) = ((¬A ∧ ¬B) ∨ ¬C) ∧ ((¬A ∧ ¬B) ∨ D)).
Die Anwendung der zweiten Regel auf beide Teile der top-level Konjunktion und
Vereinfachung der Klammerung bringt das gewünschte Ergebnis:
F 3 = (¬A ∨ ¬C) ∧ (¬B ∨ ¬C) ∧ (¬A ∨ D) ∧ (¬B ∨ D).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 111
Logik: Die Wissenschaft vom Schließen
Ableiten von DNF/KNF aus einer Wahrheitstafel
Ableiten einer DNF: Jede Zeile der Wahrheitstafel mit Wahrheitswert 1 wird zu einer
Konjunktion. Jede atomare Aussage Ai, die in der Zeile mit einer 1 belegt ist, wird
als Ai in die Konjunktion übernommen, die mit 0 belegten Ai werden zum Literal
¬Ai. Die Konjunktionen werden anschließend zu einer Disjunktion verknüpft.
Ableiten einer KNF: Analog zu oben: Jede Zeile mit dem Wahrheitswert 0 wird zu
einer Disjunktion. Jede atomare Aussage Ai, die mit einer 1 belegt ist, wird als ¬Ai
in die Disjunktion übernommen, die mit 0 belegten Ai werden zum Literal Ai. Die
Disjunktionen werden anschließend zu einer Konjunktion verknüpft.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 112
Logik: Die Wissenschaft vom Schließen
Beispiel für KNF/DNF-Ableitung per Wahrheitstafel
Beispiel: Eine (unbekannte) Formel F habe die Wahrheitstafel
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
0
0
1
1
0
0
Äquivalente Formel F D in DNF:
(¬A ∧ ¬B ∧ ¬C) ∨ (A ∧ ¬B ∧ ¬C) ∨ (A ∧ ¬B ∧ C)
Äquivalente Formel F K in KNF:
(A ∨ B ∨ ¬C) ∧ (A ∨ ¬B ∨ C) ∧ (A ∨ ¬B ∨ ¬C)
∧ (¬A ∨ ¬B ∨ C) ∧ (¬A ∨ ¬B ∨ ¬C)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 113
Logik: Die Wissenschaft vom Schließen
Kontrolle der DNF
Frage: Sind Sie überzeugt, dass das stimmt? Wenn Ihnen das Vertrauen fehlt, kontrollieren Sie mittels Wahrheitstafel! Hier für F D :
A
0
0
0
0
1
1
1
1
¬A
1
1
1
1
0
0
0
0
B
0
0
1
1
0
0
1
1
¬B
1
1
0
0
1
1
0
0
C
0
1
0
1
0
1
0
1
¬C
1
0
1
0
1
0
1
0
F
1
0
0
0
1
1
0
0
¬A ∧ ¬B ∧ ¬C
A ∧ ¬B ∧ ¬C
A ∧ ¬B ∧ C
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
Das ist unmittelbar einleuchtend: jede „wahre“ Zeile für F führt in der DNF-Formel
zu einem erfüllten Disjunktionsglied, alle anderen Zeilen werden ignoriert. „Spannender“ ist dies bei der KNF-Formel (s. nächste Folie).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 114
FD
1
0
0
0
1
1
0
0
Logik: Die Wissenschaft vom Schließen
Kontrolle der KNF
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
0
0
1
1
0
0
A ∨ B ∨ ¬C
1
0
1
1
1
1
1
1
A ∨ ¬B ∨ C
1
1
0
1
1
1
1
1
A ∨ ¬B ∨ ¬C
1
1
1
0
1
1
1
1
¬A ∨ ¬B ∨ C
1
1
1
1
1
1
0
1
¬A ∨ ¬B ∨ ¬C
1
1
1
1
1
1
1
0
Diese KNF führt zu einer 1, wenn alle Zeilen der Ausgangstabelle, die zu einer
0 führen, gleichzeitig nicht zu dieser 0 führen. So führt z.B. die Belegung A(A) =
A(B) = 0, A(C) = 1 zu einer 0, also genau dann, wenn die Formel ¬A ∧¬B ∧ C
erfüllt ist. Wir dürfen in der KNF also keine 1 produzieren, wenn dieser Fall (oder
einer der vier anderen) eintritt, d.h. die Negation dieser Formel muss erfüllt sein
(und die der anderen vier 0-Fälle). Die Negation ist eben ¬(¬A ∧ ¬B ∧ C) =
¬¬A ∨ ¬¬B ∨ ¬C = A ∨ B ∨ ¬C , unser erstes Konjunktionsglied!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 115
FK
1
0
0
0
1
1
0
0
Logik: Die Wissenschaft vom Schließen
Hornformeln
Definition 70. [Hornformeln] Eine Formel F ist eine Hornformel, falls F in KNF
ist und jede Disjunktion in F höchstens ein positives Literal aufweist.
Beispiel: Eine Hornformel ist
F = (A ∨ ¬B) ∧ (¬C ∨ ¬A ∨ D) ∧ (¬A ∨ ¬B) ∧ D ∧ ¬E
Das kann man anschaulicher als Konjunktion (oder Menge) von Implikationen darstellen (diese Form wollen wir die Implikationsform nennen, erlaubt sind nur Implikationen mit einer 0 oder einem/dem positiven Literal auf der rechten Seite der
Implikation):
F = (B → A) ∧ (C ∧ A → D) ∧ (A ∧ B → 0) ∧ (1 → D) ∧ (E → 0)
Hier steht die 0 für eine beliebige unerfüllbare Formel, z.B. (A ∧ ¬A) und 1 für
eine beliebige Tautologie, z.B. (A ∨ ¬A). Zudem lassen wir die Klammern um die
inneren Konjunktionen weg (d.h., ∧ bindet stärker, als →). [Diese Schreibweisen
werden wir uns ab jetzt generell gestatten!]
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 116
Logik: Die Wissenschaft vom Schließen
Tests des Wahrheitsgehaltes von Formeln
Wir suchen nach algorithmischen Tests auf Gültigkeit, Erfüllbarkeit, Unerfüllbarkeit
einer gegebenen Formel (beachte: einen Test auf Gültigkeit von F kann man durch
einen Unerfüllbarkeitstest von ¬F ersetzen und umgekehrt!).
Die Erfüllbarkeit oder Unerfüllbarkeit von aussagenlogischen Formeln läßt sich immer überprüfen, aber i.A. nur mit großem Aufwand (s. Wahrheitstafeln).
Für Hornformeln gibt es aber einen sehr effizienten Erfüllbarkeitstest!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 117
Logik: Die Wissenschaft vom Schließen
Ein Erfüllbarkeitstest für Hornformeln
Eingabe: eine Hornformel F in Implikationsform.
Schritt 1: Markiere jedes Vorkommen einer atomaren Formel A in F , falls es in F
eine Teilformel der Form (1 → A) gibt.
Schritt 2: Tue das Folgende
Falls es in F eine Teilformel G der Form (A1 ∧ · · · ∧ An → B), n ≥ 1, gibt
und alle Ai, 1 ≤ i ≤ n bereits markiert sind
und B noch nicht markiert ist, dann markiere B .
Falls es in F eine Teilformel G der Form (A1 ∧ · · · ∧ An → 0), n ≥ 1, gibt
und alle Ai, 1 ≤ i ≤ n bereits markiert sind,
dann gib unerfüllbar aus und stoppe.
bis es keine Formel der beiden Bauarten mehr gibt.
Schritt 3: Gib erfüllbar aus und stoppe.
Die Markierung gibt die erfüllende Belegung an: A(Ai) = 1 gdw. Ai hat eine Markierung (und 0 sonst).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 118
Logik: Die Wissenschaft vom Schließen
Ist der Algorithmus korrekt?
Satz 71. Der obige Markierungsalgorithmus ist für die vorgesehene Eingabe korrekt und stoppt immer nach spätenstens n Markierungsschritten (n = Anzahl der
atomaren Formeln in der Eingabeformel).
Beweisskizze: Zuerst zeigt man, dass der Algorithmus terminiert: es können höchstens n atomare Formeln markiert werden.
Dann geht es um die Frage, ob der Algorithmus die richtige Antwort liefert: Wenn
es überhaupt Modelle für F gibt, dann müssen sie die vom Algorithmus markierten
atomaren Formeln mit 1 belegen (offensichtlich für 1 → Ai und, in der Konsequenz,
dann auch für A1 ∧ · · · ∧ An → B , wenn A1 bis An bereits markiert sind). Hieraus
folgt auch, dass der Algorithmus bei A1 ∧ · · · ∧ An → 0 und markierten Ai korrekterweise unerfüllbar ausgibt.
Der gegebenenfalls folgende Schritt 3 antwortet dann korrekt mit einem Modell (alle
Konjunktionsglieder von F müssen 1 sein): Sei G ein beliebige Disjunktion in F .
Ist G eine atomare Formel, dann ist G markiert, also A(G) = 1. Hat G die Form
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 119
Logik: Die Wissenschaft vom Schließen
A1 ∧ · · · ∧ An → B , so sind entweder alle atomaren Formeln markiert (inkl. B),
und damit A(G) = 1, oder für mindestens ein j , 1 ≤ j ≤ n gilt A(Aj ) = 0.
Auch dann folgt A(G) = 1. Weil in Schritt 2 nicht unerfüllbar ausgegeben wurde,
gilt die Argumentation so auch für A1 ∧ · · · ∧ An → 0 (also A(G) = 1 und damit
A(F ) = 1, denn alle denkbaren Varianten für Konjunktionsglieder führen zu einer
1).
Anmerkung: Der Markierungsalgorithmus konstruiert das kleinste Modell A für F
0
(falls existent), d.h. für alle Modelle A und alle atomaren Formeln B gilt A(B) ≤
0
A (B). [Beachte: 0 und 1 sind natürliche Zahlen und ≤ ist hier die ganz gewöhnliche Kleiner-Gleich-Relation über natürlichen Zahlen].
Beispiel (s. Übung):
F = (¬A ∨ ¬B ∨ ¬D) ∧ ¬E ∧ (¬C ∨ A) ∧ C ∧ B ∧ (¬G ∨ D) ∧ G
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 120
Logik: Die Wissenschaft vom Schließen
Erfüllbarkeitstest durch syntaktische Umformung: Resolution
Die Resolution ist ein sogenannter Kalkül: eine Menge von rein mechanisch anwendbaren syntaktischen Umformungsregeln. Die Resolution generiert (wenn die
nötigen Voraussetzungen erfüllt sind) in einem Schritt aus zwei Formeln eine dritte
Formel. Sie soll die Frage nach der Unerfüllbarkeit einer gegebenen Formelmenge
beantworten.
Wichtige Fragen: Ist der Kalkül korrekt und vollständig? Korrektheit bedeutet, dass
keine erfüllbare Formelmenge durch den Kalkül als unerfüllbar bezeichnet wird. Vollständigkeit bedeutet, dass jede unerfüllbare Formelmenge auch als solche erkannt
wird.
Zur Einnerung: Mittels eines Unerfüllbarkeitstest kann man z.B. testen, ob eine Formel F eine Tautologie ist, indem man ¬F auf Unerfüllbarkeit prüft. Oder man kann
die Frage beantworten, ob eine Formel G aus einer Formelmenge {F1, F2, . . . , Fk }
folgt – aus einer Übungsaufgabe wissen wir, dass dies der Frage nach der Unerfüllbarkeit von F1 ∧ F2 ∧ · · · ∧ Fk ∧ ¬G entspricht.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 121
Logik: Die Wissenschaft vom Schließen
Details zur Resolution (I)
Aufgabe: Prüfen, ob eine beliebige Formel F unerfüllbar ist.
0
Vorgehen: Zunächst muß aus F eine äquivalente Formel F in KNF erzeugt werden,
also z.B.
0
F = (L1,1 ∨ · · · ∨ L1,n1 ) ∧ · · · ∧ (Lk,1 ∨ · · · ∨ Lk,nk ).
Diese Formel wird nun in eine sogenannte Klauselform gebracht – sie wird als
Menge von Klauseln wie folgt dargestellt
F k = {{L1,1, . . . , L1,n1 }, . . . , {Lk,1, . . . , Lk,nk }}.
Jedes Element von F k heißt Klausel und repräsentiert eine Disjunktion der enthaltenen Literale. Durch die Mengendarstellung verschwinden mehrfach auftretende
Elemente und syntaktische Unterschiede, die sich aus Kommutativität, Assoziativität und Idempotenz ergeben würden (s. das folgende Beispiel).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 122
Logik: Die Wissenschaft vom Schließen
Details zur Resolution (II)
Beispiel: Die folgenden äquivalenten KNF-Formeln führen alle zur selben Darstellung in Klauselform, {{A3}, {A1, ¬A2}}:
((A1 ∨ ¬A2) ∧ (A3 ∨ A3))
(A3 ∧ (¬A2 ∨ A1))
(A3 ∧ ((¬A2 ∨ ¬A2) ∨ A1)) usw.
0
Unsere Begriffe wie Erfüllbarkeit etc. lassen sich unmittelbar von der Formel F
auf die Klauselform übertragen. Beispielsweise ist A genau dann ein Modell für F k ,
0
0
wenn es ein Modell für F (und damit für F ) ist. Weiter folgt z.B. für jede Formel F in
0
KNF und jedes Modell A von F , dass A auch ein Modell für jedes Konjunktionsglied
von F ist – und damit auch ein Modell für jede Klausel in F k .
Zur Vereinfachung bezeichnen wir die Klauselform einer Formel F ebenfalls mit F .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 123
Logik: Die Wissenschaft vom Schließen
Resolventen
Definition 72. [Resolvent]
Seien K1, K2 und R Klauseln. Dann heißt R Resolvent von K1 und K2, falls es
ein Literal L gibt mit L ∈ K1 und L̄ ∈ K2 und R die folgende Form hat:
R = (K1 − {L}) ∪ (K2 − {L̄}).
Hierbei ist L̄ definiert als
(
L̄ =
¬Ai, falls L = Ai
Ai ,
falls L = ¬Ai.
Sprechweise: R wird aus K1, K2 nach L resolviert.
Die leere Menge, die als Resolvent zweier Klauseln K1 = {L}, K2 = {L̄} auftreten kann, wird mit bezeichnet. Tritt diese leere Menge als Element einer Klauselmenge auf, dann ist diese Menge (bzw. die durch sie repräsentierte Formel) unerfüllbar (wie wir gleich sehen werden). Wir werden auch als die leere Klausel
bezeichnen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 124
Logik: Die Wissenschaft vom Schließen
Das Resolutionslemma der Aussagenlogik
Satz 73. [Resolutionslemma]
Sei F eine Formel in KNF, dargestellt als Klauselmenge. Ferner sei R ein Resolvent
zweier Klauseln K1 und K2 in F . Dann sind F und F ∪ {R} äquivalent.
Beweis: Zu zeigen ist nun, dass jedes Modell für F auch Modell für F ∪ {R} ist
und umgekehrt.
Sei A eine zu F (und damit auch zu F ∪ {R} passende Belegung.
Die Richtung A |= F ∪ {R} ⇒ A |= F ergibt sich unmittelbar, denn wenn A jede
Klausel in F ∪ {R} erfüllt, dann erfüllt sie natürlich auch jede Klausel in F .
Noch zu zeigen bleibt die Richtung A |= F ⇒ A |= F ∪ {R}. Wir nehmen also
an, dass A |= F und damit auch A |= Ki für alle Klauseln Ki in F .
Der Resolvent R habe die Form aus der Definition, d.h. R = (K1 − {L}) ∪ (K2 −
{L̄}) mit K1, K2 ∈ F und L ∈ K1, L̄ ∈ K2. Nun müssen wir zwei Fälle unterc 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 125
Logik: Die Wissenschaft vom Schließen
scheiden – entweder ist unter A das Literal L oder seine Negation L̄ erfüllt (beides
zugleich geht natürlich nicht!)
Fall 1: A |= L. Dann folgt wg. A |= K2 und A 6|= L̄, dass A |= K2 − {L̄} und
damit A |= R (weil der Rest von K2, der wahr sein muß, natürlich auch die ganze
Klausel R wahr macht, die ja für eine Disjunktion steht!)
Fall 2: A 6|= L. Dann folgt wg. A |= K1, dass A |= K1 − {L} und damit A |= R
(mit einer analogen Begründung zu oben).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 126
Logik: Die Wissenschaft vom Schließen
Mengen von Resolventen
Definition 74.
Sei F eine Klauselmenge. Dann ist Res(F ) die Vereinigung von F mit den Resolventen, die man zu den Klauseln in F finden kann. Res(F ) ist definiert als
Res(F ) = F ∪ {R|R ist Resolvent zweier Klauseln in F }.
Außerdem setzen wir:
Res0(F ) = F
Resn+1(F ) = Res(Resn(F )) für n ≥ 0
und schließlich
S
Res∗(F ) = n≥0 Resn(F ).
Die Mengen Res(F ), Res0(F ), . . . sind natürlich ebenfalls Klauselmengen.
Übrigens: Für jede endliche Klauselmenge F kommt irgendwann der Punkt, an dem
man keine neuen Resolventen mehr findet, d.h. es existiert ein (kleinstes) k ∈ N,
so dass Res∗ = Resk (F ) = Resk+1(F ) = . . . .
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 127
Logik: Die Wissenschaft vom Schließen
Resolution in der Aussagenlogik
Satz 75. [Resolutionssatz der Aussagenlogik]
Eine Klauselmenge F ist unerfüllbar genau dann, wenn ∈ Res∗(F ).11
Aus dem Resolutionssatz leitet sich der folgende Algorithmus ab, der für eine Formel
F in KNF entscheidet, ob sie unerfüllbar ist:
Eingabe: eine Formel F in KNF.
Algorithmus: Bringe F in Klauselform.
Wiederhole
G := F
F := Res(F )
bis ( ∈ F ) oder (F = G)
Falls ( ∈ F ) dann gib „F ist unerfüllbar“ aus
sonst gib „F ist erfüllbar“ aus
11 Der Beweis des Satzes ist konstruktiv und führt zu einem korrekten und vollständigen Verfahren, um die Unerfüllbarkeit von Klauselmengen zu untersuchen. Die Korrektheit zeigt man direkt, die Vollständigkeit mittels Induktion über die
Anzahl der in F vorkommenden atomaren Formeln. Der Beweis ist nicht kompliziert, aber langwierig. Interessierte finden
ihn auf Seite 41f in Schönings Logik für Informatiker, 5. Aufl., Spektrum.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 128
Logik: Die Wissenschaft vom Schließen
Merke: Der Algorithmus kann in manchen Fällen sehr schnell zu einer Entscheidung
führen, in anderen müssen erst exponentiell viele Klauseln erzeugt werden!
Beachte: Falls F unerfüllbar ist, so wird irgendwann die leere Klausel erzeugt. An
der sogenannten Herleitung dieser leeren Klausel waren möglicherweise wesentlich
weniger Klauseln beteiligt, als von obigem Algorithmus erzeugt werden. Für einen
Beweis der Unerfüllbarkeit einer Formel kann man sich auf diese Klauseln beschränken:
Definition 76. [Deduktion/Herleitung/Beweis]
Eine Deduktion (oder Herleitung oder Beweis) der leeren Klausel aus einer Klauselmenge F ist eine Folge K1, K2, . . . , Km von Klauseln mit folgenden Eigenschaften:
Km ist die leere Klausel und
für jedes i = 1, . . . , m gilt, dass Ki entweder Element
von F ist oder aus gewissen Klauseln Ka, Kb mit
a, b < i resolviert werden kann.
Satz 77. Eine Klauselmenge F ist genau dann unerfüllbar, wenn eine Deduktion
der leeren Klausel aus F existiert.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 129
Logik: Die Wissenschaft vom Schließen
Merke: Um zu beweisen, dass eine Klauselmenge F unerfüllbar ist, genügt es, eine
Herleitung der leeren Klausel anzugeben. Bei der Angabe einer solchen Herleitung
sollte nicht nur die nackte Folge angegeben werden, sondern auch deutlich werden,
welche Klauseln resolviert werden:
Beispiel: F = {{A, B, ¬C}, {¬A}, {A, B, C}, {A, ¬B}}. F ist unerfüllbar,
denn die leere Klausel kann man z.B. wie folgt herleiten:
K1
K2
K3
K4
K5
K6
K7
=
=
=
=
=
=
=
{A, B, ¬C}
{A, B, C}
{A, B}
{A, ¬B}
{A}
{¬A}
(Klausel aus F )
(Klausel aus F )
(Resolvent von K1, K2)
(Klausel aus F )
(Resolvent von K3, K4)
(Klausel aus F )
(Resolvent von K5, K6)
Übrigens: es müssen nicht immer die beiden direkten Vorgänger in der Folge sein,
die zu einem Resolventen führen, K9 könnte z.B. Resolvent von K4 und K8 sein.
Es ist natürlich auch möglich (und sehr empfehlenswert), die graphische Darstellung
aus der Vorlesung zu verwenden!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 130
Logik: Die Wissenschaft vom Schließen
Mengenlehre und Logik: Das Klassenkalkül
Manchmal reicht die Aussagenlogik nicht unmittelbar.
Alle folgenden Sätze sind aus rein logischen Gründen richtig. Sie lassen sich nicht
ohne Weiteres sinnvoll so mit der Aussagenlogik formalisieren, dass man diese logisch begründete Allgemeingültigkeit anhand der entstehenden Aussagen erkennen
könnte.
Den Sätzen folgt jeweils eine Formalisierung im sogenannten Klassenkalkül, die den
logischen Gehalt der Sätze korrekt wiedergibt.
“Wenn der Löwe ein Raubtier ist und wenn Raubtiere Fleisch fressen,
so frißt der Löwe Fleisch”
(α ⊆ β) ∧ (β ⊆ γ) → (α ⊆ γ).
Hier steht α für die Klasse der Löwen, β für die Klasse der Raubtiere und γ für die
Klasse der fleischfressenden Wesen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 131
Logik: Die Wissenschaft vom Schließen
“Wenn die ungeraden Primzahlen alle natürlichen Zahlen umfassen und
wenn eine ungerade Zahl eine natürliche Zahl ist und wenn eine Primzahl eine natürliche Zahl ist, so umfassen die ungeraden Zahlen alle
natürlichen Zahlen und die Primzahlen alle natürlichen Zahlen”
(γ ⊆ α ∩ β) ∧ (α ⊆ γ) ∧ (β ⊆ γ) → (γ ⊆ α) ∧ (γ ⊆ β)
Hier steht α für die Klasse der ungeraden Zahlen, β für die Klasse der Primzahlen
und γ für die Klasse der natürlichen Zahlen.
“Tiere, die nicht im Wasser leben, sind Tiere, die kein Fleisch fressen,
oder Fleischfresser, die nicht im Wasser leben”
(α ∩ β) ⊆ (α ∩ γ) ∪ (γ ∩ β)
Hier steht α für die Klasse der Tiere, β für die Klasse der im Wasser lebenden
Wesen, β also für die Klasse der nicht im Wasser lebenden Tiere, und γ für fleischfressende Wesen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 132
Logik: Die Wissenschaft vom Schließen
Formalisierung des Klassenkalküls
Einzelne Klassen werden durch kleine griechische Buchstaben, z.B. α, β, γ , bezeichnet.
Anstelle von Aussagenvariablen verwenden wir nun Klassenvariablen a,b,c,. . . .12
Definition 78. [Klassenterme]
1. Klassenvariablen sind Klassenterme.
2. Ist a ein Klassenterm, dann ist a ein Klassenterm (das drückt das Komplement
einer Klasse aus, also alle Gegenstände aus der Allklasse, s. unten, die nicht in
a liegen)
3. Sind a und b Klassenterme, so sind auch (a ∪ b) und (a ∩ b) Klassenterme.
4. Ein Klassenterm ist nur das, was sich durch eine endliche Anwendung der 3
obigen Regeln ergibt.
12 In der Sprechweise von Hilbert und Ackermann, Grundzüge der theoretischen Logik, Springer, 6. Aufl., 1972, die wir
hier verwenden, entsprechen Klassen im wesentlichen unseren Mengen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 133
Logik: Die Wissenschaft vom Schließen
Wir lassen in der Regel die Klammern dann weg, wenn sie nicht nötig sind, um den
zusammengehörenden Teilterm zu erkennen, insbesondere dann, wenn der Teilterm
negiert ist.
Beispiel: Klassenterme sind also a, b, a ∪ b ∩ c, (a ∪ b) ∩ c usw.
Achtung: Klassenterme bestehen aus den Operatoren, Klammern und “normalen”
Buchstaben. Wenn wir über Klassenterme reden, dann verwenden wir den anderen
Zeichensatz, also a, b, c usw.
Allklasse – beachten Sie: Wir haben jetzt das Komplement a einer Klasse a ohne
Bezug zu einer bestimmten Klasse d ⊇ a eingeführt. Wir denken uns aber einen
solchen Bezug jeweils als gegeben, diesen nennen wir die Allklasse.
Es gilt für jede Klasse a, dass a ∪ a die Allklasse ist und dass a ∩ a die Nullklasse
(= leere Klasse bzw. Menge) ist.
Wenn wir in einem Ausdruck (den wir gleich definieren werden) ein, zwei oder mehr
Komplemente verwenden, dann denken wir uns immer einen Bezug zu ein und derselben Allklasse.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 134
Logik: Die Wissenschaft vom Schließen
Ausdrücke des Klassenkalküls
Definition 79. [Ausdrücke des Klassenkalküls]
1. Sind a und b Klassenterme, so sind a = b und a ⊆ b Ausdrücke.
2. Ist A ein Ausdruck, dann ist ¬A ein Ausdruck.
3. Sind A und B Ausdrücke, so sind auch (A ∧ B), (A ∨ B), (A → B) und
(A ↔ B) Ausdrücke.
4. Ein Ausdruck ist nur das, was sich durch eine endliche Anwendung der 3 obigen
Regeln aus Klassentermen ergibt.
Beispiel: Ausdrücke sind also (a = b ∪ b) ∨ (b ∪ b ⊆ a), (a = b → a ∪ c = b ∪ c)
usw.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 135
Logik: Die Wissenschaft vom Schließen
Erfüllbarkeit und Gültigkeit
Idee: Ein Ausdruck soll allgemeingültig (oder einfach: gültig) sein, falls er jedesmal in
eine wahre Aussage übergeht, wenn die Klassenvariablen durch beliebige spezielle
Klassen ersetzt werden.
Hier spielt aber die Größe der Klassen, die eingesetzt werden, eine Rolle!
Beispiel: Nehmen wir einen Individuenbereich (=Allklasse), der nur ein Element enthält und untersuchen wir den Ausdruck (a = a ∪ a) ∨ (a = a ∩ a).
Aus einem Individuenbereich mit nur einem Element können wir nur die Allklasse
(bezeichnet durch 1) und die Nullklasse (bezeichnet durch 0) bilden.
Belegen wir nun a mit 1, so erhalten wir (1 = 1 ∪ 1) ∨ (1 = 1 ∩ 1). Nun ist natürlich
1 = 0, also (1 = 1 ∪ 0) ∨ (1 = 1 ∩ 0). Es gilt klarerweise 0 ∪ 1 = 1 und 1 ∩ 0 = 0,
also ist der erste Klassenterm erfüllt.
Ebenso erfüllt eine Belegung von a mit 0 den Ausdruck, und zwar diesmal den zweiten Term (wie sie leicht nachvollziehen können).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 136
Logik: Die Wissenschaft vom Schließen
Der Ausdruck ist also erfüllt bei Ersetzung mit beliebigen Klassen, die im gegebenen
Individuenbereich gebildet werden können, d.h. er ist gültig in diesem Individuenbereich.
1-gültig: Da der Individuenbereich genau ein Element hat, nennen wir den Ausdruck
auch 1-gültig.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 137
Logik: Die Wissenschaft vom Schließen
1-Gültigkeit
Verfahren zum Feststellen von 1-Gültigkeit:
Alle Klassenvariablen werden in beliebiger Weise durch 0 bzw. 1 ersetzt (natürlich
so, dass jedes Vorkommen einer Variable durch den selben Wert ersetzt wird).
Nun werden alle Operatoren nach und nach entfernt: ersetze 0 durch 1, 1 durch 0,
0 ∪ 0, 0 ∩ 1, 1 ∩ 0, 0 ∩ 0 durch 0 und 1 ∪ 1, 1 ∩ 1, 0 ∪ 1, 1 ∪ 0 durch 1.
Es bleiben nur noch Elementaraussagen der Form 0 = 0, 1 = 1, 0 ⊆ 0, 0 ⊆ 1,
1 ⊆ 1 (die sind alle wahr) und 1 ⊆ 0, 0 = 1, 1 = 0 (die sind alle falsch) übrig.
Wenn für jede mögliche Belegung der Klassenvariablen durch Klassen nur wahre
Aussagen entstehen, dann ist der Ausdruck 1-gültig, wenn wenigstens für eine Belegung eine wahre Aussage entsteht, dann ist er 1-erfüllbar, sonst ist er 1-unerfüllbar.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 138
Logik: Die Wissenschaft vom Schließen
Gültigkeit
Der Ausdruck (a = a ∪ a) ∨ (a = a ∩ a) ist 1-gültig. Gilt er aber auch in einem
anderen (sprich: größeren) Individuenbereich?
Nein! Sei α eine Klasse, die sowohl von der Nullklasse, als auch von der Allklasse
verschieden ist. Eine solche Klasse existiert in jedem Individuenbereich, der mehr
als ein Element hat.
Dann ist α sowohl von der Nullklasse (also α ∩ α) als auch von der Allklasse (also
α ∪ α) verschieden, d.h. der Ausdruck ist dann nicht erfüllt!
Probieren Sie es mit dem Individuenbereich {1, 2, 3} und wählen Sie z.B. a =
{1, 2}.
Insgesamt nennen wir den Ausdruck daher nicht allgemeingültig.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 139
Logik: Die Wissenschaft vom Schließen
Äquivalenz
Wenn A ↔ B allgemeingültig ist, dann gilt A ≡ B (die beiden Ausdrück sind also
äquivalent). Es gilt z.B.:
1. a ⊆ b ≡ a ∪ b = b ∪ b
2. a = b ≡ (a ⊆ b) ∧ (b ⊆ a)
3. (a = b ∪ b) ∧ (c = d ∪ d) ≡ (a ∩ c = d ∪ d)
4. a = a, a ∪ b = a ∩ b, a ∩ b = a ∪ b
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 140
Logik: Die Wissenschaft vom Schließen
Allgemeingültigkeit von Ausdrücken
Wir beweisen die erste Äquivalenz: a ⊆ b ≡ a ∪ b = b ∪ b, indem wir zwei Richtungen betrachten:
Gilt a ⊆ b, so sind alle Element von a auch Elemente von b und alle Elemente von
b auch Elemente von a. Also enthält a ∪ b auch alle Elemente von b ∪ b – es enthält
sogar alle Elemente des betrachteten Individuenbereichs.
Ist umgekehrt a ∪ b = b ∪ b richtig, ist also a ∪ b die Allklasse, so ist jedes Element
des Individuenbereichs in a oder in b enthalten. Ein Element von a muß also, da es
nicht in a enthalten ist, in b enthalten sein.
Das geht leichter!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 141
Logik: Die Wissenschaft vom Schließen
Allgemeingültigkeit von Ausdrücken
Erläuterung zum Vorgehen: Mit den Ausdrücken des Klassenkalküls können wir
mengenalgebraische Aussagen auf ihre Gültigkeit untersuchen. Doch zunächst
müssen wir untersuchen, wann Ausdrücke des Klassenkalküls allgemeingültig sind.
Hierzu führen wir die Frage der Allgemeingültigkeit auf Fragen nach der 1Gültigkeit zurück. Wir zeigen zunächst, wie jede mögliche Form von Disjunktionen
von einfachen Ausdrücken und negierten einfachen Ausdrücken auf Gültigkeit untersucht werden kann – und dann sind wir auch bereits fertig, denn wir können jeden
beliebigen Ausdruck des Klassenkalküls in eine spezielle konjunktive Normalform
bringen, in der jedes Konjunktionsglied eine Disjunktionen einfacher Ausdrücke (die
auch negiert auftreten können) ist. Die Gültigkeit dieser Konjunktion ergibt sich natürlich genau dann, wenn jede Disjunktion (also jedes Konjunktionsglied) gültig ist.
Genaueres hierzu s. Punkt 7 weiter unten.
Es werden folgende Formen untersucht: einfache (positive) Ausdrücke; negierte einfache Ausdrücke; eine Disjunktion negierter einfacher Ausdrücke; Disjunktionen mit
keinem, einem oder mehreren negierten einfachen Ausdrücken und einem positiven
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 142
Logik: Die Wissenschaft vom Schließen
einfachen Ausdruck; und zuletzt Ausdrücke mit keinem, einem, oder mehreren negierten einfachen Ausdrücken und mehr als einem positiven Ausdruck. Nur die Gültigkeit dieser letzten Form läßt sich nicht durch Ersetzung (zur Ersetzung s. Punkt 1
unten) direkt auf 1-Gültigkeit zurückführen. Achten Sie auf die Analogie zu Hornformeln, nur die letzte (problematische) Disjunktionsform ist nicht “horn” und erfordert
mehr Aufwand!
1. Ein (einfacher positiver) Ausdruck der Form a = b oder a ⊆ b ist allgemeingültig
genau dann, wenn er 1-gültig ist.
Dies werden wir nun beweisen, indem wir einige der oben genannten Äquivalenzen verwenden:
a ⊆ b ist äquivalent zu a ∪ b = b ∪ b , a = b zu (a ⊆ b) ∧ (b ⊆ a) und damit zu
a ∪ b = b ∪ b ∧ b ∪ a = a ∪ a . Dies entspricht (a ∪ b) ∩ (b ∪ a) = a ∪ a .
In beiden Fällen liegt ein Ausdruck der Form c = d ∪ d vor. Diesen Ausdruck
können wir durch einen äquivalenten Ausdruck der Form e = d ∪ d ersetzen, bei
dem e eine besondere Gestalt hat:
In e sollen alle Negationen nach innen gezogen sein (also kein ∪,∩ oder eine
andere Negation negiert werden). Zudem soll kein ∪ auf ein ∩ angewendet werden. Wir erzeugen e durch eine Umformung völlig analog zu der Erzeugung einer
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 143
Logik: Die Wissenschaft vom Schließen
KNF in der Logik, indem wir die oben stehenden Äquivalenzen anwenden. Der
resultierende Term e hat die Form e1 ∩ e2 ∩ . . . en und dort hat jedes ei die Form
f1 ∪ f2 ∪ · · · ∪ fk , wobei die fi jeweils Klassenvariablen oder negierte Klassenvariablen sind.
Von den Ausdrücken der Form e1 ∩ e2 ∩ . . . en = d ∪ d sind nun diejenigen sicher
allgemeingültig (und damit auch 1-gültig), bei denen jedes Glied, abgesehen von
der Reihenfolge der Glieder, die Form g ∪ g ∪ f1 ∪ f2 ∪ · · · ∪ fk hat. Dann stellt
jedes ei die Allklasse dar, und damit insgesamt auch e .
Hat aber nur ein ei nicht diese Form, so ist der Ausdruck nicht allgemeingültig und auch nícht 1-gültig! Sei ei dieses Glied, so ersetzen wir eine Klassenvariable,
die in ei unnegiert vorkommt, durch 0 und negiert vorkommende durch 1. ei erhält
dann die Form 0 ∪ 0 ∪ · · · ∪ 0, d.h, wird 0. Da der Schnitt einer beliebigen Klasse
mit der Nullklasse die Nullklasse ergibt, wird auch e1 ∩e2 ∩. . . en gleich 0, während
d ∪ d gleich 1 wird. Der Ausdruck ist also, wenn er nicht allgemeingültig ist, auch
nicht 1-gültig, womit der Satz bewiesen ist.
Wichtiger Hinweis: Die 1-Gültigkeit eines Ausdrucks im Klassenkalkül kann man
überprüfen, indem man folgende Ersetzungen vornimmt:
∪ durch ∨, ∩ durch ∧, ¯ durch ¬, ⊆ durch →, und = durch ↔.
und dann die Gültigkeit der resultierenden aussagenlogischen Formel überprüft
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 144
Logik: Die Wissenschaft vom Schließen
2.
3.
4.
5.
6.
7.
(man kann wahr und falsch mit 1 und 0, also wie oben mit der Allklasse und der
Nullklasse identifizieren, und jeweils zeigen, dass die Ersetzungen den Wahrheitsgehalt nicht ändern).
Ein (einfacher negativer) Ausdruck der Form ¬(a = b) oder ¬(a ⊆ b) ist allgemeingültig genau dann, wenn er 1-gültig ist.
Ein Ausdruck der Form ¬A1 ∨ · · · ∨ ¬An, wobei jedes Ai die Form a = b oder
a ⊆ b hat, ist genau dann allgemeingültig, wenn er 1-gültig ist.
Ein Ausdruck der Form ¬A ∨ B, wobei A und B die Form a = b oder a ⊆ b
haben, ist genau dann allgemeingültig, wenn er 1-gültig ist.
Ein Ausdruck der Form ¬A1 ∨ · · · ∨ ¬An ∨B, wobei jedes Ai und B die Form
a = b oder a ⊆ b hat, ist genau dann allgemeingültig, wenn er 1-gültig ist.
Ein Ausdruck der Form ¬B1 ∨ · · · ∨ ¬Bm ∨A1 ∨ · · · ∨ An , n ≥ 2, wobei jedes
Bi und jedes Aj die Form a = b oder a ⊆ b hat, ist dann und nur dann allgemeingültig, wenn wenigstens einer der Ausdrücke ¬B1 ∨ · · · ∨ ¬Bm ∨A1, . . . ,
¬B1 ∨ · · · ∨ ¬Bm ∨An allgemeingültig ist (also 1-gültig, s. den Fall unmittelbar
oben).
Gegeben sei nun ein beliebiger Ausdruck des Klassenkalküls. Jeder Ausdruck
besteht aus einfachen Ausdrücken der Form a = b oder a ⊆ b , die durch die Aussagenverknüpfungen verbunden bzw. negiert sind. Um die spezielle konjunktive
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 145
Logik: Die Wissenschaft vom Schließen
Normalform bzgl. der einfachen Ausdrücke zu erhalten, ersetzen wir zunächst
die Verbindungen der Form →, ↔ zwischen den einfachen Ausdrücken in der
bekannten Weise und bilden dann mit dem bekannten Umformungsverfahren eine konjunktive Normalform (hierbei betrachten wir die einfachen Ausdrücke als
unveränderliche, atomare Bestandteile der zusammengesetzten Ausdrücke).
Es entsteht ein Ausdruck der Form C1 ∧ · · · ∧ Cn. Jedes Ci ist von einer der
Formen, die unter 1.-6. behandelt wurde. Der gesamte Ausdruck ist dann und
nur dann allgemeingültig, wenn jedes Ci allgemeingültig ist. Wann das der Fall
ist, haben wir bereits unter 1.-6. untersucht.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 146
Logik: Die Wissenschaft vom Schließen
Anwenden des Klassenkalküls
1. (a = a ∪ a) ∨ (a = a ∩ a) ist nach 6. genau dann gültig, wenn mindestens
einer der einfachen Ausdrücke (a = a ∪ a) bzw. (a = a ∩ a) gültig ist. Das ist
nach 1. genau dann der Fall, wenn einer der beiden Ausdrücke 1-gültig ist. Das
ist aber nicht gegeben (für je eine der beiden möglichen Belegungen für a, nämlich 1 oder 0, ist einer der Ausdrücke nicht erfüllt), also ist der Gesamtausdruck
nicht gültig (aber 1-gültig, wie wir schon gezeigt haben – hier liegt also ein Fall
vor, in dem eine direkte Ersetzung durch Aussagenlogik nicht zu einem richigen
Resultat führen würde – probieren Sie es z.B. mit einem Individuenbereich mit 2
Elementen!)
2. Wir haben in einem der einleitenden Beispielen (zu den Löwen) gefragt, ob (α ⊆
β) ∧ (β ⊆ γ) → (α ⊆ γ) (also für spezielle Klassen α, β , γ ) aus rein logischen
Gründen richtig ist. Das wäre der Fall, wenn (a ⊆ b) ∧ (b ⊆ c) → (a ⊆ c)
allgemeingültig sein sollte.
Das ist in der Tat der Fall. Um das zu erkennen, erzeugen wir zunächst die spezielle KNF über den einfachen Ausdrücken. Hierzu identifizieren wir jeden einfachen Ausdruck mit einem geschwungenen Grossbuchstaben: (a ⊆ b) = A,
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 147
Logik: Die Wissenschaft vom Schließen
(b ⊆ c) = B, (a ⊆ c) = C .
Diese setzen wir anstelle der einfachen Ausdrücken in den Gesamtausdruck ein:
A∧B →C
und bringen diesen speziellen Ausdruck in KNF:
¬A ∨ ¬B ∨ C .
Dieser Ausdruck ist vom Typ 5, kann also direkt auf 1-Gültigkeit untersucht werden kann. Das können wir durch Umformung des Gesamtausdrucks in Aussagenlogik tun (unter 1 haben wir das Ersetzung genannt):
((A → B) ∧ (B → C)) → (A → C),
und dies ist eine Tautologie (kontrollieren Sie, z.B. per Wahrheitstafel), also ist
die Aussage tatsächlich aus rein logischen Gründen wahr!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 148
Logik: Die Wissenschaft vom Schließen
Zusammenfassung zum Klassenkalkül
Mit dem Klassenkalkül können wir Fragen der Mengenlehre sehr präzise formulieren!
Und wir können sie ebenso präzise mit den Instrumenten der Aussagenlogik beantworten!
• Ausdrücke des Klassenkalkül bestehen aus einfachen Ausdrücken, die mit aussagenlogischen Operatoren verbunden werden.
• Einfache Ausdrücke bestehen aus zwei Klassentermen, die mit = oder ⊆ zu
einander in Bezug gesetzt werden (positiver einfacher Ausdruck).
• Einfache Ausdrücke können auch negiert auftreten, dann steht ein ¬ vor dem
einfachen Ausdruck (negativer einfacher Ausdruck).
• Klassenterme bestehen aus mengenalgebraischen Operatoren und Klassenvariablen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 149
Logik: Die Wissenschaft vom Schließen
Wie beantworten wir mengen-algebraische Fragestellungen?
Beispielaufgabe aus einer Klausur: Gilt für drei Mengen a, b, c
c − (a − b) = c genau dann, wenn c ∩ a ⊆ b?
1. Übersetzen der beiden mengenalgebraischen Formeln in einfache Ausdrücke:
(a) Klassenvariablen a, b, c.
(b) Terme a1 = c ∩ a ∩ b, a2 = c, b1 = c ∩ a, b2 = b
2. Einfacher Ausdruck A := a1 = a2 := c ∩ a ∩ b = c
3. Einfacher Ausdruck B := b1 ⊆ b2 := c ∩ a ⊆ b
4. Das Genau-Dann-Wenn übersetzen wir natürlich als Äquivalenz der beiden Ausdrücke. Die gesamte Behauptung als Ausdruck:
A ↔ B := c ∩ a ∩ b = c ↔ c ∩ a ⊆ b
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 150
Logik: Die Wissenschaft vom Schließen
5. Jetzt bringen wir den Ausdruck in die spezielle konjunktive Normalform (in Bezug
auf die einfachen Ausdrücke). A ↔ B ≡ (A → B) ∧ (A ← B) ≡ (¬A ∨ B)
∧ (A ∨ ¬B)
6. Beide Disjunktionen sind von der 4. Form, die oben betrachtet wurde. Sie sind
also beide genau dann allgemeingültig, wenn sie 1-gültig sind. Wir können Sie
also einzeln (sie müssen beide gültig sein) oder in diesem Fall auch als Gesamtausdruck in Aussagenlogik überführen und auf aussagenlogische Gültigkeit
untersuchen:
7. Gesamtausdruck: c ∩ a ∩ b = c → c ∩ a ⊆ b ∧ c ∩ a ∩ b = c → c ∩ a ⊆ b,
umgesetzt in Aussagenlogik: (((c ∧ ¬(a ∧ ¬b)) ↔ c) → ((c ∧ a) → b)) ∧
(((c ∧ ¬(a ∧ ¬b)) ↔ c) → ((c ∧ a) → b))
8. Wir können auch die nicht-aufgelöste Form des Gesamtausdrucks in Aussagenlogik überführen (weil die Disjunktionen harmlos sind – allerdings muss man das
eben erst untersuchen und zeigen): ((c ∧ ¬(a ∧ ¬b)) ↔ c) ↔ ((c ∧ a) → b)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 151
Logik: Die Wissenschaft vom Schließen
9. Beide Formen können wir nun auf Gültigkeit untersuchen, entweder, indem wir
eine Wahrheitstafel verwenden oder die Negation auf Unerfüllbarkeit prüfen (mit
Resolution, oder wenn die negierte Formel horn ist, dann auch mit dem Markierungsalgorithmus).
4.
a b c ((c ∧
0 0 0
0
0 0 1
1
0 1 0
0
1 0 0
0
1 0 1
0
1 1 0
0
1
0 1 1
1 1 1
1
3.
2. 1.
5.
6.
1.
2.
¬ (a ∧ ¬ b)) ↔ c) ↔ ((c ∧ a) → b)
1
0 1
1
1
0
1
1
0 1
1
1
0
1
1
0 0
1
1
0
1
0
1 1
1
1
0
1
0
1 1
0
1
1
0
1
0 0
1
1
0
1
1
0 0
1
1
0
1
1
0 0
1
1
1
1
10. Es folgt die Gültigkeit der Behauptung. Man kann das deutlich abkürzen, wenn
man gleich erkennt (und glaubhaft macht), dass die konjunktive Normalform des
Gesamtausdrucks keine Disjunktionen der 6. Form enthält. Dann kann man direkt zur Aussagenlogik übergehen (so, wie unter 8.).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 152
Logik: Die Wissenschaft vom Schließen
Logik und Beweise
• Logische Schlüsse sind die Grundlage aller Wissenschaften (auch, wenn man
das vielleicht nicht immer bei jeder Wissenschaft gleich merkt...)
• Beweise sind nichts anderes, als das Anwenden logischer Schlüsse. Einige Beweistypen:
1. Wenn Sie wüßten, dass “Wenn A dann B ” eine gültige Aussage ist und außerdem A gilt, dann könnten Sie auf die Gültigkeit von B schließen (Schlußweise: Modus ponens). Beweisen müssen sie also die “Wenn-Dann”-Regel,
z.B. in dem sie sich jeden möglichen Fall, der auftreten kann, anschauen (direkter Beweis). Manchmal ist das leichter möglich für eine Umformulierung
der Regel:
2. Wieder gelte “Wenn A, dann B ”. Das können wir wie folgt umschreiben: A →
B ≡ ¬A ∨ B ≡ ¬¬(¬A ∨ B) ≡ ¬(A ∧ ¬B) ≡ ¬A ∨ ¬¬B ≡ ¬¬B ∨ ¬A
≡ ¬B → ¬A.
Die letzte Form können wir dann für einen Schluß nutzen: Wenn ¬B und
¬B → ¬A gelten, dann gilt auch ¬A.
Wenn es uns nun gelingt, zu zeigen, dass die Regel ¬B → ¬A gilt, dann
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 153
Logik: Die Wissenschaft vom Schließen
haben wir damit auch bewiesen, dass die Regel A → B gilt!
3. Wir können auch zeigen, dass die Negation der Regel unerfüllbar ist, also ¬(A → B) ≡ ¬(¬A ∨ B) ≡ A ∧ ¬B immer zu einem Widerspruch
führt (dann muß die Ausgangsregel selbst eine Tautologie sein). Auch das ist
manchmal leichter, als ein direkter Beweis der Folgerung A → B .
Als weitere Beweistechniken haben wir Induktionsbeweise und Diagonalisierung
kennengelernt. Beide Beweistypen folgen natürlich auch logischen Prinzipien, bei
der Induktion können sie das nachvollziehen am Beweis des Induktionsprinzip
selbst, den sie gegen Ende des Mengenlehre-Kapitels finden.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 154
Logik: Die Wissenschaft vom Schließen
Was kann das Klassenkalkül nicht? (1)
Versuchen Sie, den folgenden Satz mit dem Klassenkalkül zu formulieren: “Wenn es einen Präsidenten aller Vereine einer Stadt gibt, dann
hat jeder Verein der Stadt einen Präsidenten”.
Dieser Schluß ist mit Sicherheit “aus rein logischen Gründen richtig” (vgl. Hilbert/Ackermann) – man erkennt den logischen Charakter des Satzes daran, dass
der Inhalt der Begriffe “Präsident” und “Verein der Stadt” für die Richtigkeit des Satzes unerheblich ist.
Das können wir mit dem Klassenkalkül nicht formalisieren – es geht nicht um Eigenschaften von Dingen (die eine Klassifizierung erlauben würden), sondern um eine
Beziehung zwischen mehreren Dingen:
• Der Begriff “Präsident” enthält eine solche Beziehung, nämlich zwischen einer
Person und einem Verein.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 155
Logik: Die Wissenschaft vom Schließen
Was kann das Klassenkalkül nicht? (2)
Betrachten wir auch noch den folgenden Satz der elementaren Geometrie: “Wenn y
zwischen x und z liegt, dann liegt y auch zwischen z und x” (hier sind A,B,C beliebige
Punkte auf einer Geraden).
[Aussagen] Aussagenlogisch könnte man versuchen, das mit zwei Aussagenvariablen beschreiben: A → B , mit A = “y zwischen x und z”, B = “y zwischen z und
x”. Aus der Formalisierung A → B kann man aber die Generalität des Satzes nicht
erkennen!
[Eigenschaften] Mit dem Klassenkalkül könnten wir den Satz als α ⊆ β für die
Eigenschaften α = “zwischen x und z liegen” und β = “zwischen y und x liegen”
formalisieren. Aber auch jetzt ist die behauptete allgemeine Symmetrie für beliebige
Punkte auf fest gewählten, aber ebenfalls beliebigen Geraden nicht erkennbar – wir
haben die Symmetrie nur für fest gewählte x und z auf einer bestimmten Geraden
formuliert!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 156
Logik: Die Wissenschaft vom Schließen
Was kann das Klassenkalkül nicht? (3)
[Gegenstände, Eigenschaften und Beziehungen] Prädikatenlogisch könnte das so
aussehen: ∀x, y, z(zwischen(y, x, z) → zwischen(y, z, x)) (gegebenenfalls
erweitert um Informationen zur Zugehörigkeit von Punkten zu Geraden etc.). Hier
ist zwischen(a, b, c) ein Prädikat, dass für eine Beziehung zwischen drei Punkten
a, b, c steht und besagt, dass a zwischen b und c liegt. ∀ ist ein Quantor, der besagt,
dass die Aussage für alle x, y, z gilt, die zwischen(y, x, z) erfüllen.
Ein weiteres Beispiel für eine solche Symmetrieeigenschaft ist die “Vater-vonKind/Kind-von-Mann”-Beziehung, in der jeweils die eine Beziehung die Inverse der
anderen Beziehung ist. Auch dies läßt sich nicht mit dem Klassenkalkül formalisieren.
(Denken Sie auch an unsere Aussagen vom Übungsblatt zu den grünhaarigen Marsianern!)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 157
Logik: Die Wissenschaft vom Schließen
Prädikatenlogik 1. Ordnung
Diese Sachverhalte kann man mit Hilfe der Prädikatenlogik 1. Ordnung (First order
logic) formulieren.
Wir werden das in dieser Veranstaltung nicht weiter vertiefen. Bei der Prädikatenlogik kommen zu möglichen Effizienzproblemen noch Entscheidbarkeitsprobleme
hinzu (s. Vorlesung zu Turing etc.). Sie ist aber die Grundlage für viele Anwendungen der Logik. Auch hier gibt es Unterklassen von eingeschränkter Ausdrucksmächtigkeit, die sich aber leichter (entscheidbar!) auswerten lassen (Hornformeln, also
Wenn-Dann-Regeln; Description Logic, in gewissem Sinne eine Erweiterung des
Klassenkalküls).
Ebenso gibt es auch Erweiterungen, die sich manchmal wieder auf Prädikatenlogik 1. Ordnung abbilden lassen (manche Modallogik), manchmal aber auch echte
Erweiterungen sind und Prädiktenlogik höherer Ordnung erfordern (Quantifikation
über Relationen, nicht nur über Elementen). Beispiele hierfür sind manche Logiken,
die mit Zeit und Aktionen umgehen können (Situation Calculus).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 158
Logik: Die Wissenschaft vom Schließen
Wichtige Anwendungsgebiete für Logik
• Schaltungsentwurf/Bool’sche Funktionen
• Expertensysteme (Regelsysteme, Logikprogrammierung/Prolog, Wissenserhebung, Wissensrepräsentation), Quellen:
– Einführendes zu Expertensysteme z.B. hier, suchen Sie auch mit Google.
– Freie und gute Prolog-Implementierung von Jan Wielemakers, U Amsterdam:
SWI-Prolog.
– Sehr schönes Buch von zwei wichtigen Wissenschaftlern zu Wissenrepräsentation: Brachman, Levesque – Knowledge Representation and Reasoning,
Morgan Kaufman, 2004.
• Deduktive Datenbanken (Datalog, Logikbasierte Abragesprachen), Quellen:
– Ein Übersichtsartikel zu deduktiven Datenbanksprachen von 1999: http:
//www.scs.carleton.ca/~mengchi/papers/ddb-CS99.pdf mit Angaben zu weiterer Literatur.
– Mit einer Google-Suche zu deduktiven Datenbanken finden Sie auch diverse
“einschlägige” deutsche Lehrveranstaltungen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 159
Logik: Die Wissenschaft vom Schließen
• Semantic Web (Internet/XML + Bedeutung mit RDF, OWL; Intelligentes, MetaDaten-basiertes Suchen; Finden und Verbinden von Web Services; etc.), Quellen:
– Im Scientific American gab es 2001 einen einführenden und durchaus lesenswerten Artikel zum Semantic Web von Tim Berners-Lee, dem Vater des
WWW, und anderen.
– Ein Link zur Semantic-Web-Activity des W3C (die wichtigste, “unabhängige”
Institution zur Weiterentwicklung von WWW-Standards, wie z.B. XML, XMLSchema, XHTML, RDF, OWL, WebServices/WSDL. Eine weitere wichtige
Standardisierungsorganisation rund um’s Web ist die OASIS – und natürlich
die IETF, über die die RFCs abgewickelt werden, z.B. zum EMail-Format (RFC
822), zum SMTP – Simple Mail Transfer Protocol, zum HTTP – Hypertext
Transfer Protocol 1.1 etc.
• (Ausführbare) Spezifikation von reaktiven Systemen mit logik (TLA+ von Lamport; Situation Calculus/GOLOG von Reiter und anderen, spielt mittlerweile auch
eine Rolle bei der semantischen Spezifikation von Web Services mit OWL-S, s.
auch Semantic Web), Quellen:
– Leslie Lamports Buch zu TLA/TLA+, online, frei verfügbar.
– Ray Reiters Buch Knowledge in Action, leider nicht frei verfügbar.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 160
Logik: Die Wissenschaft vom Schließen
Exkurs: Relationale Datenbanken
Ein Datenbankmanagementsystem (DBMS) hat13
• die Fähigkeit, persistente (d.h. dauerhaft abgelegte) Daten zu verwalten und
• die Fähigkeit, auf große Mengen von Daten effizient zuzugreifen.
13 Wir folgen in der Darstellung einem schönen, aber nicht mehr ganz aktuellen Buch von Jeffrey D. Ullman (Stanford
U.): Principles of Database- and Knowledge-Base Systems, 1988. Sie finden in der Bibliothek aber in jedem Buch zu
Datenbanken etwas über das relationale Datenbankmodell, relationale Algebra und SQL, wenn sie später weitere Details
interessieren sollten bzw. müssen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 161
Relationale Algebra/SQL
Exkurs: Relationale Datenbanken
Weitere wichtige Fähigkeit von DBMS sind:
• Unterstützung wenigsten eines Datenmodells (eine mathematische Abstraktion,
die der User nutzen kann, um mit den Daten umzugehen, s. unten).
• Unterstützung bestimmter Hochsprachen zur Definition der Strukuren der Daten,
zum Zugriff auf Daten und zur Manipulation von Daten.
• Transaktions-Management, d.h. die Fähigkeit, korrekten konkurrierenden parallelen Zugriff vieler Nutzer gleichzeitig zu ermöglichen.
• Zugriffskontrolle, d.h. die Fähigkeit, den Zugang zu Daten einzuschränken für
unzureichend autorisierte Nutzer und die Validität von Daten zu prüfen.
• Resiliency, d.h. die Fähigkeit, sich von Systemfehlern bzw. Crashes zu erholen
ohne Daten zu verlieren.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 162
Relationale Algebra/SQL
Exkurs: Relationale Datenbanken
Datenmodelle: Ein Datenmodell ist ein zweiteiliger mathematischer Formalismus,
der
1. eine Notation zum Beschreiben von Daten beinhaltet und
2. eine Menge von Operationen bereitstellt, um diese Daten zu manipulieren.
Zum abstrakten Modellieren von Datenbank-Inhalten ist das von Chen 1976 vorgestellte Entity-Relationship-Modell sehr hilfreich, s. Originalpapier.
Dieses kann man mehr oder weniger präzise auch ins relationale Modell nach Codd
(1970) abbilden, das als Basis für viele Implementierungen von DBMS (sogenannte
relationale Datenbanken) diente (und dient), s. Originalpapier.
Das relationale Datenmodell ist im Grunde nichts als angewandte Mengenlehre plus
ein wenig Logik ...
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 163
Relationale Algebra/SQL
Exkurs: Relationale Datenbanken
• Ausgangspunkt sind einfache Mengen, die Wertebereiche angeben, sogenannte
Domains.
• Domains sind z.B. Integer, String, String der Länge 20, die Menge {0, 1} usw.
• Wenn wir Domains D1,. . . ,Dk haben, dann können wir dazu das Kreuzprodukt
bilden: D1 × · · · × Dk .
• Eine Relation im Sinne des relationalen Datenmodells ist nun unsere übliche
Relation, also eine beliebige Teilmenge des Cartesischen Produkts der Domains.
• Die Stelligkeit (arity, degree) der Relationen zum obigen Kreuzprodukt ist k.
• Elemente der Relation sind k-Tupel der Form (v1, . . . , vk ), manchmal auch als
v1v2 · · · vk geschrieben. Ein solches Tupel hat k Komponenten, die i-te Komponente ist vi.
• Man kann sich die Relation gut als Tabelle vorstellen.
• Die Spalten der Tabelle (also die Positionen im Tupel der Relation) werden in
aller Regel benannt, diese Namen nennt man auch Attribute, die Menge der
Attribute zu einer Relation nennen wir Schema.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 164
Relationale Algebra/SQL
• Sei REL eine k-stellige Relation mit den Attributen A1,. . . ,Ak . Dann schreiben
wir das Schema als REL(A1, . . . , Ak ).
Hinzu kommen noch eine Reihe von Operatoren, s. unten.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 165
Relationale Algebra/SQL
Beispiele: Selektion
Wählt Zeilen aus einer Tabelle aus, die einer bestimmten Bedingung genügen.
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Ergebnisrelation:
Nachname
Trunstein
Vorname
Helga
Geburtsdatum
30.7.1956
Relationale Algebra: σN achname=0T runstein0 (M itarbeiter)
Mit SQL 92: SELECT * FROM Mitarbeiter WHERE Nachname = ’Trunstein’
Mit Datalog: result(X,Y,Z) ← mitarbeiter(X,Y,Z) ∧ X = ’Trunstein’.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 166
Relationale Algebra/SQL
Beispiele: Projektion
Wählt bestimmte Spalten einer Tabelle aus.
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Ergebnisrelation:
Nachname
Milke
Huber
Trunstein
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Relationale Algebra: π1,3(Mitarbeiter) oder πN ame,Geburtsdatum(Mitarbeiter)
SQL 92: SELECT Nachname, Geburtsdatum FROM Mitarbeiter
Mit Datalog: result(X,Y) ← mitarbeiter(X,Z,Y).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 167
Relationale Algebra/SQL
Union bzw. Vereinigung
Fügt die Zeilen zweier Tabellen mit gleicher Spaltenzahl in einer Tabelle zusammen. Die Namen der jeweiligen Spalten der zwei Tabellen müssen nicht identisch
sein, lediglich der Datentyp bzw. Wertebereich des Inhalts.
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Relation Kunden:
Nachname
Kelz
Huber
Ernsbach
Vorname
Andreas
Karl
Elli
Geburtsdatum
21.7.1965
16.12.1964
29.6.1956
Ergebnisrelation:
Nachname
Milke
Huber
Trunstein
Kelz
Ernsbach
Vorname
Lise
Karl
Helga
Andreas
Elli
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
21.7.65
29.6.1956
Relationale Algebra: Mitarbeiter ∪ Kunden
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 168
Relationale Algebra/SQL
SQL 92: SELECT * FROM Mitarbeiter UNION SELECT * FROM Kunden
Datalog: result(X,Y,Z) ← mitarbeiter(X,Y,Z) ∨ kunden(X,Y,Z).
Doppelte Zeilen werden in SQL automatisch unterdrückt (bei den Mengenorientierten Formalismen Algebra und Logik natürlich sowieso!). Mit UNION ALL werden sie
angezeigt.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 169
Relationale Algebra/SQL
Beispiel Intersection bzw. Schnitt
Liefert die Zeilen, die in beiden angegebenen Tabellen enthalten sind (gleiche Stelligkeit vorausgesetzt).
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Relation Kunden:
Nachname
Kelz
Huber
Ernsbach
Vorname
Andreas
Karl
Elli
Geburtsdatum
21.7.1965
16.12.1964
29.6.1956
Ergebnisrelation:
Nachname
Huber
Vorname
Karl
Geburtsdatum
16.12.1964
Relationale Algebra: Mitarbeiter ∩ Kunden
SQL 92: SELECT * FROM Mitarbeiter INTERSECT SELECT * FROM Kunden
Datalog: result(X,Y,Z) ← mitarbeiter(X,Y,Z) ∧ kunden(X,Y,Z).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 170
Relationale Algebra/SQL
Minus bzw. Differenz
Liefert die Zeilen der ersten Tabelle, die in der zweiten Tabelle nicht enthalten sind
(vorausgesetzt, die Stelligkeiten stimmen überein).
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Relation Kunden:
Nachname
Kelz
Huber
Ernsbach
Vorname
Andreas
Karl
Elli
Geburtsdatum
21.7.1965
16.12.1964
29.6.1956
Ergebnisrelation:
Nachname
Milke
Trunstein
Vorname
Lise
Helga
Geburtsdatum
3.6.1934
30.7.1956
Relationale Algebra: Mitarbeiter - Kunden
SQL 92: SELECT * FROM Mitarbeiter MINUS SELECT * FROM Kunden
Datalog plus Negation (nicht horn!):
result(X,Y,Z) ← mitarbeiter(X,Y,Z) ∧ ¬ kunden(X,Y,Z).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 171
Relationale Algebra/SQL
Beispiele zu verschiedenen Joins
Cross Join = Kartesisches Produkt
Relationale Algebra
Verbindet jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle.
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Relation Projekte:
Projekt
Neubau
Werbung
Design
Vorname
Lise
Karl
Helga
Nachname
Huber
Trunstein
Kohlmeier
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Vorname
Anna
Helga
Johann
Relationale Algebra: Mitarbeiter × Projekte
SQL 92: SELECT * FROM Mitarbeiter CROSS JOIN Projekte
Älteres SQL: SELECT * FROM Mitarbeiter, Projekte
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 172
Relationale Algebra/SQL
Datalog: result(X1,Y1,Z1,X2,Y2,Z2) ← mitarbeiter(X1,Y1,Z1) ∧ projekte(X2,Y2,Z2).
Mitarbeiter.Nachname
Milke
Milke
Milke
Huber
Huber
Huber
Trunstein
Trunstein
Trunstein
Mitarbeiter.Vorname
Lise
Lise
Lise
Karl
Karl
Karl
Helga
Helga
Helga
Geburtsdatum
3.6.1934
3.6.1934
3.6.1934
16.12.1964
16.12.1964
16.12.1964
30.7.1956
30.7.1956
30.7.1956
Projekt
Neubau
Werbung
Design
Neubau
Werbung
Design
Neubau
Werbung
Design
Projekte.Nachname
Huber
Trunstein
Kohlmeier
Huber
Trunstein
Kohlmeier
Huber
Trunstein
Kohlmeier
Projekte.Vorname
Anna
Helga
Johann
Anna
Helga
Johann
Anna
Helga
Johann
Gleichnamige Spalten der zwei Tabellen werden durch Voranstellen des Tabellennamens referenziert, also z. B. ’Mitarbeiter.Nachname’.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 173
Relationale Algebra/SQL
Natural Join
Alle gleichlautenden Spalten zweier Tabellen werden auf Gleichheit getestet, Tuple
aus dem Kreuzprodukt mit gleichen Werten für diese Spalten werden in die Ergebnisrelation übernommen. Dort kommt allerdings nur jeweils eine Spalte je zweier
gleichnamiger Spalten vor.
Relation Mitarbeiter:
Nachname
Milke
Huber
Trunstein
Vorname
Lise
Karl
Helga
Relation Projekte:
Projekt
Neubau
Werbung
Design
Ergebnisrelation:
Mitarbeiter.Nachname
Trunstein
Nachname
Huber
Trunstein
Kohlmeier
Geburtsdatum
3.6.1934
16.12.1964
30.7.1956
Vorname
Anna
Helga
Johann
Mitarbeiter.Vorname
Helga
Geburtsdatum
30.7.1956
Projekt
Werbung
Relationale Algebra: Mitarbeiter ./ Projekte
SQL 92:
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 174
Relationale Algebra/SQL
SELECT Mitarbeiter.*, Projekte.Projekt
FROM Mitarbeiter INNER JOIN Projekte
ON (Mitarbeiter.Nachname = Projekte.Nachname
AND Mitarbeiter.Vorname = Projekte.Vorname)
Datalog: result(X,Y,Z,W) ← mitarbeiter(X,Y,Z) ∧ projekte(W,X,Y).
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 175
Relationale Algebra/SQL
Semi- und Theta-Join
Semi-Join in SQL 92:
SELECT Mitarbeiter.*
FROM Mitarbeiter INNER JOIN Projekte
ON (Mitarbeiter.Nachname = Projekte.Nachname
AND Mitarbeiter.Vorname = Projekte.Vorname)
Theta-Join in SQL 92: SELECT * FROM Mitarbeiter INNER JOIN Projekte ON
Mitarbeiter.Nachname <= Projekte.Nachname
Datalog: result(X1,Y1,Z1,X2,Y2,Z2) ← mitarbeiter(X1,Y1,Z1) ∧ projekte(X2,Y2,Z2)
∧ (X1 ≤ X2).
Anmerkung: Vergleich sind auch auf Strings definiert, hier geht es um die lexikographische Ordnung, also die Frage, welcher String im Lexikon vor dem anderen String
steht (der ist dann kleiner).
Es gibt noch weitere Join-Arten in SQL, die auf dem OUTER JOIN beruhen (es
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 176
Relationale Algebra/SQL
werden Nullwerte eingeführt, wenn es keine passenden ergänzenden Tupel zu den
“Hälften” gibt). Man kann auch Joins über mehr als zwei Relationen ausführen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 177
Relationale Algebra/SQL
Operatoren der relationalen Algebra
Mit den elementare Operatoren Schnitt, Vereinigung, Kartesisches Produkt, Projektion, Selektion, Differenz können wir weitere Operatoren definieren. Wichtig für uns
sind vor allem die gezeigten Joins, hier noch formal als relationale Algebra:
Join bzw. Theta-Join R ./iθj S = σ$iθ$(r+j)(R×S). Hier ist θ ein (arithmetischer)
Vergleichsoperator und r die Stelligkeit von R.
Natural Join R ./ S = πi1,i2,...,im σR.A1=S.A1∧···∧R.Ak =S.Ak (R × S). Ai sind hier
die Attribute, die in R und in S vorkommen, unterschieden jeweils durch das
Präfix Relationsname. und i1 bis im sind alle Attribute aus R × S ohne die
Attribute S.A1 bis S.Ak (d.h. m = r + s − k).
Semijoin R n S = R ./ πR∩S (S). Hier steht (R ∩ S) im Subskript von π für alle
Attributenamen, die R und S gemeinsam haben und nicht für den Schnitt der
Relationen!
Hinweis: Beachten Sie, dass man in Implementierungen der Join-Operationen in
aller Regel das kartesische Produkt nicht tatsächlich bestimmt!
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 178
Relationale Algebra/SQL
Exkurs: Relationale Datenbanken
• Relationale Datenbanken bilden die Grundlage für die meisten Datenhaltungssysteme!
• Praktisch alle bieten SQL an, meist Superset zu einem der SQL-Standards (es
gibt mittlerweile einen Standard zu SQL3, der auf SQL92 gefolgt ist).
• Weder die relationale Algebra noch das alte SQL92 sind so ausdrucksmächtig, wie man es manchmal wünschen würde: sie können z.B. nicht die transitive
Hülle einer Relation bestimmen (also z.B. alle Vorfahren eines Menschen in einem Eltern-Kind-Baum unbestimmter Höhe finden). Das kann man aber bewerkstelligen, wenn man SQL “einbettet” in eine andere Sprache und dann auf eine
schlaue Art iteriert.
• Sehr schön formulieren läßt sich das mit Datalog: vorfahr(X,Y) ← eltern teil(Z,Y)
∧ vorfahr(X,Z).
• Die Auswertung von Datalog kann man (wenn man nicht zuviel Negation verwendet...) auf die iterative Auswertung von Ausdrücken in relationaler Algebra mittels
SQL zurückführen.
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 179
Relationale Algebra/SQL
• Datenbanken, die Datalog oder etwas ähnliches unmittelbar unterstützen, nennt
man “deduktive Datenbanken” (Deduktion: Schlussfolgerung, Herleitung). In die
großen kommerziellen Produkte (IBM DB2, IBM Informix, Oracle, Microsoft SQLServer) ist das aber bisher meines Wissens nach leider nicht eingebaut worden.
• Es gibt aber “Bridges” zu Logik-Programmiersystemen wie SWI-Prolog, XSBProlog, Sicstus-Prolog etc., die eine elegante, knappe logikbasierte Formulierung
von Anfragen erlaubt (nicht so leicht ist es, die Anfragen optimiert zu beantworten!).
• Es gibt ordentliche bis sehr gute frei verfügbare Datenbanksysteme, s. z.B. MySQL oder Postgres. Ein besonders einfaches und leicht zu verwendendes ist
SQLite. Werfen Sie ruhig einmal einen Blick darauf, wenn sie Daten zu schaufeln
haben!
• Mehr zu dem Thema “angewandte Mengenlehre und Logik, also-known-as Datenbanken” hören sie bei Prof. Drosten! Aber sie wissen jetzt: zumindest die
grundlegenden Abfragen sind keine Hexerei! (Natürlich müssen die Tupel erstmal in die Relationen gelangen, man muß die Relationen anlegen, Transaktionen für Folgen von Operationen ausführen, die man zurücknehmen kann und
und und...aber im Kern geht es um Operationen auf unseren guten alten Relationen!)
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 180
Modelle
Modelle
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 181
Graphen
Graphen
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 182
Graphen
Letzte Seite
Ende der Foliensammlung
c 2003-2011, Prof. Dr. W. Conen — Nutzung nur an der FH Gelsenkirchen Version 0.951, 18. Oktober 2011, Seite 183
Herunterladen