Mathematische Grundlagen der Informatik I - Logik

Werbung
Mathematische Grundlagen der Informatik
I - Logik und Algebra
Emanuele Delucchi
Vorläufige Version - bitte nicht weiterverteilen.
Kommentare und Korrekturen sind vom Autor willkommen.
11. November 2012
Inhaltsverzeichnis
1 Logik
1.1 Sprache und Gegenstand . . . . . . . . . . . . . . . .
1.2 Gegenstand und Sprache . . . . . . . . . . . . . . . .
1.3 Von Wahrnehmung zu Erkenntnis: Datenstrukturen
1.3.1 Äquivalenzrelationen . . . . . . . . . . . . . .
1.4 Neue Erkenntnisse aus alten . . . . . . . . . . . . . .
1.5 Für den mathematischen Alltag: Beweismethoden . .
1.5.1 Direkter Beweis . . . . . . . . . . . . . . . . .
1.5.2 Beweis durch Kontraposition . . . . . . . . .
1.5.3 Widerspruchsbeweis . . . . . . . . . . . . . .
1.5.4 Beweis durch (vollständige) Induktion . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
6
8
9
11
14
14
14
14
14
Kapitel 1
Logik
Sprachen ermöglichen die Speicherung und Vermittlung von Erkenntnissen, sowie die Untersuchung deren Gründe und Implikationen.
Die Stärke der ‘üblichen’ Sprachen (Deutsch, Französisch, Englisch, Mandarin,... - die wir im Folgenden ‘natürliche Sprachen’ nennen) liegt unter anderem
darin, dass sie eine breite Palette von Zwecken in angemessener Weise erfüllen:
man kann damit über Gefühle, Ästhetik, Mystik, sowie über Quantenphysik,
Kartoffelanbau und Börsengeschäfte reden. Diese Versatilität erzwingt aber eine gewisse Informalität, die wir vermeiden wollen.
Programmiersprachen sind meistens (mehr oder weniger) formale Sprachen,
mit reservierten Symbolen und vorgegebener Syntax. Manche Bausteine sind so
grundlegend, dass sie in den meisten Programmiersprachen vorkommen, andere
sind charakteristisch von der einzelnen Sprache.
Hier wollen wir die Grundzüge der Struktur von formalen Sprachen vorstellen, und die Art und Weise, wie deren Ausdrücke Wahrheitswerte zugeordnet
werden können.
1.1
Sprache und Gegenstand
Das Alphabet einer (formalen) Sprache L besteht aus folgenden Zeichen:
Klammern
Gleichheitszeichen
Variabeln
Junktoren
Quantoren
Konstanten
Funktionssymbole
Relationssymbole
(,)
=
x, y, z, . . .
∨, ∧, ¬, →, ↔
∀, ∃
a, b, c, . . .
f, g, . . . (jew. mit “Stelligkeit”)
R, . . . (jew. mir “Stelligkeit”)














(unabhängig von L )
(je nach L )
Bemerkung 1. Man beachte die Ähnlichkeit mit vielen Programmierumgebungen, die ‘reservierte Symbole’ und ‘standard-Befehle’ (z.B. if- und for- Schleifen)
haben, es jedoch auch erlauben, je nach Programm eigene ‘lokale’ Befehle und
Prozeduren zu definieren.
2
Beispiel 2. Eine mögliche Sprache, z.B. um über Arithmetik zu ‘reden’, ist
diejenige mit den Konstanten �, |, der Funktionssymbol s (2-stellig), der Relationssymbol ≤ (2-stellig). Wir werden diese im Folgenden als LA bezeichnen.
Die Terme der Sprache L werden durch (ggf. wiederholte - jedoch höchstens
endlich oft) Anwendung folgender Regeln gebildet:
(a) Variabeln und Konstanten sind Terme;
(b) sind t1 , . . . , tk Terme, und ist f ein (k-stelliges) Funktionssymbol, so ist
f (t1 , . . . , tk ) ein Term.
Terme werden später gebraucht, um ‘Gegenstände’ in der Sprache
abzubilden. In der natürlichen Sprachen wird diese Funktion
meistens von Substantiven (wörtlich: die ‘Substanz’ tragen) erfüllt,
so wie ‘Bratapfel’ als Funktion von (den Konstanten) ‘Ofen’ und
‘Apfel’ gesehen werden kann.
Beispiel 3. Die folgende sind Terme von LA :
| ; s(�, |) ; s(|, s(|, |)) ; s(s(|, �), s(|, s(�, |))).
Ein Ausdruck in der Sprache L besteht aus Terme, die durch andere Zeichen
des Alphabets nach folgender Regeln verkettet werden:
(c) Sind t1 , t2 Terme, so ist t1 = t2 ein Ausdruck;
(d) Sind t1 , . . . , tk Terme und ist R ein (k-stelliges) Relationssymbol, so ist
R(t1 , . . . , tk ) ein Ausdruck;
(e) Ist A ein Ausdruck, so auch ¬A;
(f) Sind A, B Ausdrücke, so auch (A ∧ B), (A ∨ B), (A → B), (A ↔ B);
(g) Ist A ein Ausdruck und x eine Variable, so sind ∀x(A) und ∃x(A) Ausdrücke;
( ) Wir erlauben ‘unnötige’ Klammern zur besseren Lesbarkeit.
Wenn Terme der formalen Sprache Substantive der natürlichen
Sprache entsprechen, dann entsprechen Ausdrücke syntaktisch
wohlgebildete ‘Sätze’.
Beispiel 4. Die folgende sind wohlgeformten Ausdrücke in LA , bis auf einen.
Finden Sie heraus, welcher es ist.
(i) | = �
(ii) s(|, �) = |
(iii) s(|, |) = x
(iv) ≤ (x, |), oder auch x ≤ |, vgl. Punkt (d) oben
(v) s(|, s(|, |)) ≤ |
(vi) (x ≤ |) ∨ (| ≤ x)
3
(vii) ∀x((x ≤ |) ∨ (| ≤ x))
(viii) ∀x(∃y(s(x, y) = �))
(ix) ∃y(∀x(s(x, y) = �))
(x) ∀y((x ≥ y) ∨ y)
(xi) ∀y(x ≤ y)
(xii) ∀x(∀y(x = s(|, y) → y ≤ x))
Wir beginnen nun die Untersuchung des Bezuges einer Sprache zu ihrem
“Gegenstand”.
Eine Auslegung der Sprache L besteht aus einem “Universum” U von Gegenständen und aus einer Regel, die
• jeder Konstante c von L einen Gegenstand G(c) aus U zuordnet;
• jedem (k-stelligen) Funktionssymbol f eine Vorschrift zuordnet, die jeder
Ansammlung von k Gegenständen g1 , . . . , gk aus U einem Gegenstand
f (g1 , . . . , gk ) aus U zuweist;
• jedem (k-stelligen) Relationssymbol R eine Vorschrift zuordnet, die jeder Ansammlung von k Gegenständen g1 , . . . , gk einen “Wahrheitswert”
R(g1 , . . . , g2 ) zuordnet (Wahrheitswerte sind: W, F).
Beispiel 5. Eine Auslegung von LA über die natürliche Zahlen ist die folgende:
• U := N = {0, 1, 2, 3, . . .},
• G(�) = 0, G(|) = 1;
• für Zahlen g1 , g2 gilt s(g1 , g2 ) =“g1 + g2 ” (die Summe);
• für Zahlen g1 , g2 hat g1 ≤ g2 (d.h. ≤ (g1 , g2 )) genau dann den Wert W ,
wenn g1 kleiner oder gleich g2 ist.
Analog erhält man eine Auslegung über die ganzen Zahlen, indem man das
Universum erweitert auf U := Z = {. . . , −3, −2, −1, 0, 1, 2, 3, . . .}.
Bemerkung 6. Im obigen Beispiel haben wir das Gleichheitszeichen leicht
missbraucht: eigentlich ist es ein Zeichen unseres formalen Alphabets, während
es hier als “Symbol für die Identität zweier Objekte” steht. Da diese die Auslegung von = sein wird, erlauben wir uns diese Zweideutigkeit, in der Hoffnung,
dass sie die Lesbarkeit des Textes erleichtert.
Die Angabe einer Auslegung ist aber offensichtlich nicht genug, um jedem
Ausdruck einen Wahrheitswert zuzuordnen. Ein ‘Problem’ ist, dass Terme, die
Variablen enthalten, nichts ‘konkretem’ entsprechen - solange wir ‘nichts in
der Variable einsetzen’ (besser gesagt: solange wir die Variable nicht belegen).
Manchmal ist das aber im jeweiligen Kontext kein Problem (z.B. bei (vii), (viii),
(ix), (xii) in Beispiel 4), denn nur die sog. freien Variablen müssen belegt werden.
In unserem Vergleich zu den natürlichen Sprachen würden wir sagen,
dass Ausdrücke mit freien Variablen zwar syntaktisch korrekte Sätze
sind, die aber keine meinungsvollen Aussagen darstellen.
4
Um genauer zu sein, benutzen wir die hierarchische ‘Bauweise’ von Ausdrücken und sagen zunächst, dass eine Variable x frei in einem Term t ist,
wenn
(a) t die Variable x ist;
(b) t von der Form f (t1 , . . . , tk ) und x frei in einem der ti ist.
Die Variable x ist frei in einem Ausdruck P , wenn
(c) P von der Form t1 = t2 und x frei in t1 oder t2 ist;
(d) P von der Form R(t1 , . . . , tk ) und x frei in einem der ti ist;
(e) P von der Form ¬Q und x frei in Q ist;
(f) P von einer der Formen Q1 ∨ Q1 , Q1 ∧ Q2 , Q1 → Q2 , Q1 ↔ Q2 , und x
frei in Q1 oder Q2 ist.
(g) P der Form ∀y(Q) (bzw. ∃y(Q)) und y verschieden von x ist.
Beispiel 7. Unter den Ausdrücken aus Beispiel 4 ist x frei in (iii), (iv), (vi)
und (xi), doch y kommt nie als freie Variable vor.
Sind etwa x1 , . . . , xk die freien Variablen eines Ausdrucks P , so wird dies oft
mit der Schreibweise P (x1 , . . . , xk ) gedeutet.
Eine Belegung der freien Variablen eines Ausdruckes P ist die Wahl eines
Gegenstandes B(xi ) für jede freie Variable xi von P .
Definition 1.1.1. Eine Interpretation einer Sprache besteht aus einer Auslegung zusammen mit einer Belegung ihrer Variablen.
Ist eine Interpretation der Sprache L festgelegt, so kann jedem Term t ein
Gegenstand GB (t) zugeordnet werden. Es kann dann auch jedem Ausdruck P
ein Wahrheitswert zugewiesen werden:
(c) P der Form t1 = t2 hat den Wert W genau dann, wenn GB (t1 ) und GB (t2 )
der gleiche Gegenstand ist;
(d) P der Form R(t1 , . . . , tk ) bekommt den gleichen Wahrheitswert wie
R(GB (t1 ), . . . , GB (tk ));
(e) P der Form ¬Q hat den Wert W g.d.w. Q den Wert F hat;
(f) Ist P aus zwei Ausdrücken A, B mittels eines Junktors gebildet, so ist der
Wahrheitswert anhand folgender Wahrheitstafeln festgelegt:
A
W
F
W
F
B
W
W
F
F
A∧B
W
F
F
F
A∨B
W
W
W
F
A→B
W
W
F
W
A↔B
W
F
F
W
(g) P der Form ∀y(Q) hat den Wert W , wenn Q für alle möglichen Belegungen
von y den Wert W ;
P der Form ∃y(Q) hat den Wert W wenn Q den Wert W in mindestens
einer Belegung B(y) erhält.
5
Definition 1.1.2. Wird einem Ausdruck A unter einer bestimmten Interpretation der Wahrheitswert W zugewiesen, so sagen wir, dass die gegebene Interpretation den Ausdruck A erfüllt.
Beispiel 8. In der genannten Auslegung der Sprache LA über N ist (i): F ; (ii):
W ; (v): F ; (vii): W ; (viii): F ; (ix): F ; (xii): W .
In der Auslegung über Z ist jedoch (viii): W (die Existenz eines additiven
‘Inversen’ ist ein gültiger Satz über ganze, aber nicht über natürliche Zahlen.
Mit der Belegung B(x) = 2 ist (iii): W ; (vi): W ; (xi): F . Mit der Belegung
B(x) = 1 ist aber (iii): F ; (vi): W ; (xi): F .
1.2
Gegenstand und Sprache
Wir greifen zunächst auf einen Absatz eines Artikels von Georg Cantor (Math.
Annalen, 1895) zurück.
Zwei übliche Schreibweisen, um eine Menge anzugeben, sind als Auflistung,
etwa wie in
{3, 5, 7, 11, 13},
oder durch Charakterisierung ihrer Elementen, etwa wie
{x | x ist ungerade Primzahl kleiner oder gleich 13}.
Strenggenommen soll rechts von dem Strich ein formaler Ausdruck stehen,
dem man dann einen wohldefinierten Wahrheitswert zuordnen kann. Wir werden uns erlauben, dort semi-formale Sätze zu schreiben, wobei wir so weit wie
möglich eine weitgehend allgemein benutzte Sprache für Mengentheorie benutzen, gegeben durch:
Alphabet: Konstante: ∅ ;
Funktionssymbole: ; (keine)
Relationssymbole: ∈,
Auslegung: U = G, die Gesamtheit aller Mengen;
G(∅): die leere Menge;
g1 ∈ g2 g.d.w. g1 ist Element von g2 .
6
Wir schreiben A ⊆ B (und sagen “A ist eine Teilmenge von B”), wenn jedes
Element von A auch ein Element von B ist (d.h., falls ∀x(x ∈ A → x ∈ B) gilt).
Bemerkung 9. Sei A eine Menge. Ist P (x) ein Ausdruck mit einer freien Variable, so ist
{a ∈ A | P (a)}
eine Teilmenge von A (bestehend aus allen Elementen, für die a den Wert W
hat).
Umgekehrt ist jede Teilmenge K ⊆ A von der form {x | P (x)}, wobei P (x)
der Ausdruck (x ∈ T ) ist. So ist Mengenlehre ‘mindestens so fundamental wie’
Logik. Diesen ‘Wettkampf der Fundamentalität’ wollen wir aber nicht weiter
betreiben.
Es sei hier nur noch angemerkt, dass die Schreibweise {x | . . .} nicht immer
gute Mengen produziert (z.B. ist {x | x �∈ x} keine Menge), hingegen ist {x ∈
A | . . .} eine Menge, wenn A eine ist.
Beispiel 10.
{x ∈ Z | x ≤ 4} = {. . . , −6, −5, −4, −3, −2, −1, 0, 1, 2, 3, 4}
{x ∈ Z | ∃y(x = 2y)} = {. . . , −8, −6, −4, −2, 0, 2, 4, 6, . . .}
{x ∈ N | ∃y(xy = 10)} = {1, 2, 5, 10}
{x ∈ N | ∀y(x ≤ y)} = {0}
{x ∈ Z | ∀y(x ≤ y)} = ∅
Wobei die Quantoren stets über Z verstanden werden.
Beispiel 11. Für jede Menge X gilt:
X = {a ∈ X | a = a} ⊆ X
∅ = {a ∈ X | ¬(a = a)} ⊆ X
Bemerkung 12. Diese intuitive Auffassung der Mengenlehre hat bedeutende
Grenzen. Nicht jede beliebige “Zusammenfassung von Objekten” ist eine Menge
(zum Beispiel darf die Gesamtheit G aller Mengen keine Menge sein): im Umgang
mit Mengen fordert man, dass gewisse “Sicherheitsregeln” erfüllt werden (die
sogenannten Axiomen von Zermelo-Fraenkel-Cohen).
Wohlbewusst dieser Problematik, geben wir einige ‘sichere’ Mengenbildungsoperationen. Sind A und B Teilmengen einer Grundmenge U , so auch
Ac := {x ∈ U | ¬(x ∈ A)}, das Komplement von A;
� �� �
auch: x�∈A
A \ B := {x ∈ A | ¬(x ∈ B)}, die Differenz “A ohne B”;
A ∩ B := {x ∈ U | (x ∈ A) ∧ (x ∈ B)}, der Durchschnitt von A und B;
A ∪ B := {x ∈ U | (x ∈ A) ∨ (x ∈ B)}, die Vereinigung von A und B.
P(A) := {K | K ⊆ A}, die Potenzmenge von A.
7
Beispiel 13. Zur Differenz:
{1, 2, 3} \ {3, 4} = {1, 2}
{1, 2, 3} \ N = ∅
{x, y} \ {z, w} = {x, y}
Zum Durchschnitt:
{1, 2, 3} ∩ {3, 4} = {3}
{1, 2, 3} ∩ N = {1, 2, 3}
{x, y} ∩ {z, w} = ∅
Zur Vereinigung:
{1, 2, 3} ∪ {3, 4} = {1, 2, 3, 4}
{1, 2, 3} ∪ N = N
{x, y} ∪ {z, w} = {x, y, w, z}
Zur Potenzmengenbildung
P({1, 2}) = {∅, {1}, {2}, {1, 2}}
P(∅) = {∅}
P(P(∅)) = {∅, {∅}}
Beispiel 14. Die Formel (Ac )c = A gilt nach den gegebenen Definitionen, denn
(Ac )c := {x ∈ U | ¬(x ∈ Ac )} heißt: für x ∈ U gilt x ∈ (Ac )c genau dann wenn
¬(x ∈ Ac ) gilt. Und x ∈ Ac gilt wiederum genau dann wenn ¬(x ∈ A) gilt.
Deshalb
(Ac )c = {x ∈ U | ¬(¬(x ∈ A))} = {x ∈ U | x ∈ A} = A,
wobei die erste Gleichung nach Definition gilt, die Zweite aufgrund der Wahrheitstafel der Negation und die Dritte, weil A ⊆ U .
Bemerkung 15. Eine sehr hilfreiche Darstellung von Zusammenhängen unter
Mengen sind Euler-Venn Diagramme (vgl. Vorlesung).
1.3
Von Wahrnehmung zu Erkenntnis: Datenstrukturen
Eine (binäre) Relation ist das, was wir früher “Auslegung eines (binären) Relationssymbols” genannt haben. Wir werden im Folgenden vorwiegend binäre
Relationen betrachten, deshalb werden wir die Stelligkeit einer Relation nur
dann spezifizieren, wenn diese ungleich 2 ist.
Eine Relation auf einer Menge A ist also eine Vorschrift, die jedem Paar
von Elementen x, y ∈ A ein Wahrheitswert R(x, y) zuordnet. Es hat sich eingebürgert, für manche Relationssymbole R die Schreibweise “xRy” zu benutzen
für “R(x, y) ist W ”, sonst x R
� y.
Definition 1.3.1. Eigenschaften von Relationen Die Relation R auf der Menge
A heißt
8
(r) reflexiv, falls für alle a ∈ A gilt aRa;
(s) symmetrisch, falls für alle a, b ∈ A gilt aRb → bRa.
(a) antisymmetrisch, falls für alle a, b ∈ A gilt (aRb ∧ bRa) → a = b.
(t) transitiv, falls für alle a, b, c ∈ A gilt (aRb ∧ bRc) → aRc
Beispiel 16. Eigenschaften von einige Relationen über Z:
xRy wenn:
reflexiv
symmetrisch
antisymm.
transitiv
|x − y| = 1
|x − y| ≤ 1
X
�
X
X
�
�
X
X
x teilt y, d.h.
x = yk für
ein k ∈ N
�
X
�
�
x≤y
�
X
�
�
x und y stellen
die “gleiche
Uhrzeit” dar.
�
�
X
�
Eine reflexive, antisymmetrische, transitive (r-a-t) Relation auf A heißt partielle Ordnung auf A.
Eine totale Ordnung auf A ist eine partielle Ordnung, so dass für alle a, b ∈ A
gilt aRb oder bRa.
Beispiel 17.
• Teilbarkeit: partielle (nicht totale) Ordnung;
• “x ≤ y” : totale Ordnung;
• Auf Chomp-Konfigurationen setze k1 Rk2 falls man k2 durch erlaubte Züge
von k1 aus erreichen kann: das ist eine partielle Ordnung;
• Das Analoge im Spiel “15” ist keine Ordnung (nicht (a)).
Eine total geordnete Menge kann man “der Reihe nach” auflisten, und man
benutzt dazu runde Klammern: so wird die Menge {2, 1, 13, 5} bezüglich der
totalen Ordnung ≤ zum 4-Tupel (1, 2, 5, 13).
Eine 2-elementige total geordnete Menge heißt “Paar”. Damit können wir
unsere letzte Operation auf Mengen einführen: sind A, B Mengen, so ist ihr
kartesisches Produkt definiert durch
A × B := {(a, b) | (a ∈ A) ∧ (b ∈ B)}
In diesem Sinne entspricht jede Relation auf A einer Teilmenge von A × A
(bestehend aus den Paaren, für die die Relation “gilt”).
1.3.1
Äquivalenzrelationen
Definition 1.3.2. Eine Äquivalenzrelation ist eine reflexive, symmetrische, transitive (r-s-t) Relation.
Beispiel 18. Wähle ein festes m ∈ N>0 . Für a, b ∈ Z schreiben wir a ∼m b,
wenn a − b ein Vielfach von m ist, d.h. wenn a − b = mk für ein k ∈ Z. Dies
definiert eine Relation auf Z. Diese Relation ist
9
(r) reflexiv: für jedes a ∈ Z gilt a − a = 0m, deshalb a ∼m a.
(s) symmetrisch: sind a, b ∈ Z mit a ∼m b gegeben, so gibt es ein k ∈ Z mit
a − b = mk. Dann aber ist b − a = m(−k) und da −k ∈ Z heißt das, dass
b ∼m a.
(t) transitiv: seien a, b, c ∈ Z so, dass a ∼m b und b ∼m c. Dann gibt es
k1 , k2 ∈ Z mit
a − b = mk1
b − c = mk2 .
somit: a − c = a − b + b − c = mk1 + mk2 = m(k1 + k2 ) und deshalb a ∼m c.
Definition 1.3.3. Ist eine Äquivalenzrelation ∼ auf einer Menge A gegeben,
so ist für a ∈ A
[a] := {x ∈ A | a ∼ x}
die Äquivalenzklasse von a.
Satz 1.3.1. Ist eine Äquivalenzrelation ∼ auf einer Menge A gegeben, so gilt
für a, b ∈ A: entweder [a] ∩ [b] = ∅ oder [a] = [b].
Bemerkung 19. Dieser Satz besagt, dass eine Äquivalenzrelation ihre Grundmenge dadurch ‘strukturiert’, indem sie sie in ‘nichtüberlappende’ Portionen unterteilt. Elemente in der selben Portion können nicht durch die Äquivalenzrelation
unterschieden werden.
Ist auf einer Menge von Bauklötzchen etwa die Relation ‘von der
gleichen Farbe sein’ gegeben, so sind die dazugehörige
Äquivalenzklassen: diejenige aller blauen Klötzchen, die aller roten
Klötzchen, etc. Damit ist die ursprüngliche Menge strukturiert,
indem die Klötzchen ‘nach Farben sortiert’ wurden.
Beweis des Satzes. Wir zeigen, dass [a] ∩ [b] �= ∅ impliziert [a] = [b] (denn: die
Wahrheitstafeln von A ∨ B und (¬A) → B stimmen überein - verifizieren Sie
das!).
Nehmen wir also an, es gilt [a] ∩ [b] �= ∅, und wählen ein x ∈ [a] ∩ [b].
Insbesondere gilt dann a ∼ x und b ∼ x. Für jedes y ∈ [a] gilt:
Schritt
1.
2.
3.
4.
5.
6.
7.
8.
Behauptung
a∼y
y∼a
a∼x
y∼x
b∼x
x∼b
y∼b
b∼y
Begründung
Definition von [a]
(s) auf 1.
Wahl von x
(t) auf 2. und 3.
Wahl von x
(s) auf 5.
(t) auf 4. und 6.
(s) auf 7.
und deshalb y ∈ [b]. Deshalb gilt [a] ⊆ [b]. Auf analoge Weise (empfohlene
Übung!) folgt [b] ⊆ [a] und damit [a] = [b], was zu zeigen war.
Beispiel 20 (Fortsetzung). Die Äquivalenzklassen von ∼m heißen “Restklassen
modulo m”. So ist die Restklasse von 2 modulo 3 die Menge
{. . . , −4, −1, 2, 5, . . .}.
10
Die Menge aller Restklassen modulo m wird Zm geschrieben; so ist Z2 = {[0], [1]}
und allgemein
Zm = {[0], [1], [2], . . . , [m − 1]}.
Beispiel 21. Auf der Produktmenge Z × (Z \ {0}) definieren wir die Relation
(a, b) ∼ (c, d) wenn ad = bc.
Dies ergibt eine Äquivalenzrelation, dessen Menge der Äquivalenzklassen als Q
(die Menge der rationalen Zahlen) bezeichnet wird, wobei die Äquivalenzklasse
[(a, b)] meistens mit dem Bruch ab bezeichnet wird. Deshalb kann man “kürzen”
a
- es gilt nämlich für alle x ∈ Z \ {0}, dass ax
bx = b .
1.4
Neue Erkenntnisse aus alten
Schon in manchem vorangehenden Beweis haben wir uns zugetraut, durch “sprachliches” Argumentieren aus gültigen Prämissen gültige Schlussfolgerungen ableiten zu können. Wir möchten diesen Prozess befestigen indem wir es auch in
unserem strengen Kontext formalisieren, also wenn eine Auslegung einer Sprache gegeben ist. Damit gibt es aber drei Probleme.
(i) Das erste Problem ist sicherzustellen, dass die Prämissen wirklich wahre
Sachverhalte darstellen. Das ist im Allgemeinen ein erkennungstheoretischer Aspekt, der in der Mathematik oft umgegangen wird, indem man
die Gültigkeit gewisser “ur-Prämissen” (Axiome) schlichtweg postuliert.
(ii) Das zweite Problem besteht darin ein System zu entwerfen, das nur korrekte Schlussfolgerungen erlaubt. Deshalb, genau so wie wir in Abschnitt
1.1 Regeln zur korrekten Bildung von Ausdrücken angegeben haben, brauchen wir nun weitere Regeln zur ‘korrekten Folgerung’ von Ausdrücken aus
anderen Ausdrücken.
(iii) Das dritte Problem ist dann, dass die Gesamtheit der Ausdrücke, die durch
die Regeln von (ii) aus den Axiomen von (i) erhältlich ist (die ‘beweisbare
Sachverhalte’) im Allgemeinen nicht mit der Gesamtheit der im Universum
unserer Auslegung ‘gültigen Sachverhalte’ übereinstimmt. Das ist ein sehr
ernstes Problem und kann i.A. nicht umgegangen werden (dieses Problem
wurde durch die Arbeit von Kurt Gödel ans Licht gebracht).
Wir befassen uns hier nicht mit Grundlagenfragen - und wollen doch zumindest verstehen, wann und wie aus einer gegebenen Familie von Ausdrücken ein
neuer Ausdruck hergeleitet werden kann. Dabei muss, um (ii) gerecht zu werden,
folgendes Korrektheitskriterium gelten: es ist nur dann zulässig ein Ausdruck P
aus einer Menge von Ausdrücken K herzuleiten, wenn jede Interpretation, die
alle Elemente von K erfüllt, auch P erfüllt.
Beispiel 22 (Fallunterscheidungsregel (FU).). Sei K eine Menge von Ausdrücken, P und Q Ausdrücke. Dann schreiben wir
K ∪ {Q}
K ∪ {¬Q}
K
11
:
:
:
P
P
P
und meinen damit: kann P sowohl aus K ∪ {Q} als auch aus K ∪ {¬Q} abgeleitet
werden, dann kann P aus K hergeleitet werden.
Korrektheit: Jede Interpretation, die K erfüllt, erfüllt entweder Q oder ¬Q. D.h.,
sie erfüllt K∪{Q} oder K∪{¬Q} - in beiden Fällen erfüllt sie nach den Prämissen
auch P .
Beispiel 23 (Widerspruchsregel (Wid).). Wie oben sei K eine Menge von Ausdrücken, P und Q Ausdrücke. Dann lautet die Regel
K
K
K
:
:
:
Q
¬Q
P
und meint: kann sowohl Q als auch ¬Q aus K hergeleitet werden, dann kann P
aus K hergeleitet werden.
Korrektheit: Jede Interpretation, die K erfüllt, erfüllt sowohl Q als auch ¬Q: aber
jede Interpretation weist jedem Ausdruck einen eindeutigen Wahrheitswert zu,
deshalb gibt es überhaupt keine Interpretation, die K erfüllt. Und somit (!) wird
P von jeder Interpretation erfüllt, die K erfüllt.
Wenn man die Schreibweise dekodiert hat, dann erscheint die Korrektheit
beider folgenden Regeln offensichtlich.
Beispiel 24 (Antezedensregel (Ant).). Falls K ⊆ K� , dann
K
K�
:
:
P
P
Beispiel 25 (Voraussetzungsregel (Vor).). Falls P ∈ K, dann
K
:
P
Damit man nicht immer die Korrektheit explizit nachprüfen muss, kann man
Regeln aus anderen Regeln herleiten.
Beispiel 26 (Kettenschlussregel (KS).).
K
K ∪ {P }
K
:
:
:
P
Q
Q
Rechtfertigung:
1.
2.
3.
4.
5.
6.
K
K ∪ {P }
K ∪ {¬P }
K ∪ {¬P }
K ∪ {¬P }
K
:
:
:
:
:
:
P
Q
P
¬P
Q
Q
Prämisse
Prämisse
(Ant) auf 1.
(Vor)
(Wid) auf 3., 4.
(FU) auf 4., 5.
Beispiel 27 (Kontrapositionsregel (KP).).
K ∪ {¬Q} :
K ∪ {P }
:
Rechtfertigung:
12
¬P
Q
1.
2.
3.
4.
5.
6.
K ∪ {¬Q}
K ∪ {¬Q, P }
K ∪ {¬Q, P }
K ∪ {¬Q, P }
K ∪ {Q, P }
K ∪ {P }
:
:
:
:
:
:
¬P
¬P
P
Q
Q
Q
Prämisse
(Ant)
(Vor)
(Wid) auf 2., 3.
(Vor)
(FU) auf 2., 5.
Wir sehen, dass die Verifikation der Korrektheit (aber nicht die Erfindung!)
solcher ‘Rechtfertigungen’ im Prinzip auch maschinell erfolgen kann.
1.5
1.5.1
Für den mathematischen Alltag: Beweismethoden
Direkter Beweis
Satz 1.5.1. Ist n eine ungerade natürliche Zahl, so ist n2 auch ungerade.
Beweis. Eine narürliche Zahl n ist genau dann ungerade, wenn es eine natürliche
Zahl k gibt, mit n = 2k + 1. Dann ist aber
n2 = (2k + 1)(2k + 1) = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1.
Weil 2k 2 +2k eine natürliche Zahl ist, hat n2 die Form einer ungeraden Zahl.
Satz 1.5.2. Die Winkelsumme eines Dreieckes in der Euklidischen Ebene ist
gleich einem Halb-Dreh.
1.5.2
Beweis durch Kontraposition
Satz 1.5.3. Sei n eine natürliche Zahl. Ist n2 gerade, so ist auch n gerade.
Beweis. Durch Kontraposition genügt es zu zeigen, dass wenn n ungerade ist,
dann muss n2 ungerade sein. Das haben wir aber schon als Satz 1.5.1 gezeigt.
1.5.3
Widerspruchsbeweis
Satz 1.5.4. Bei jedem Chomp hat der erste Spieler eine Gewinnstrategie.
Beweis. Siehe Kapitel 0.
√
√
Satz 1.5.5. Die Zahl 2 ist keine rationale Zahl (also: 2 �∈ Q).
√
Beweis. Zum Widerspruch nehmen
√ wirp an, dass 2 ∈ Q. dann gibt es ganze,
teilerfremde Zahlen p, q ∈ Z mit 2 = q , und insbesondere gilt
2q 2 = p2 .
Deshalb müsste p2 eine gerade Zahl sein, und mit Satz 1.5.3 wäre p auch gerade,
also p = 2k für ein k ∈ Z. Damit ist aber
2q 2 = p2 = 4k 2
und deshalb ist q 2 = 2k 2 ebenfalls gerade, und wiederum mit Satz 1.5.3 wäre q
gerade.
Also würde 2 sowohl p als auch q teilen, im Widerspruch zur Annahme.
13
1.5.4
Beweis durch (vollständige) Induktion
Beweise durch mathematische Induktion sind nicht durch spezielle logische Deduktionsregeln gekennzeichnet, sondern dadurch, dass sie auf der Axiomatik der
(Peano-)Arithmetik zurückgreifen. Diese legt als grundlegende Eigenschaft von
N die Existenz einer ‘Nachfolgerfunktion’, die jeder Zahl n ihr Nachfolger S(n)
(für das Englische ‘Successor’) zuordnet, also umgangssprachlich: S(n) = n + 1.
Dann besagt das Induktionsprinzip das Folgende:
Jede Teilmenge X ⊆ N mit 0 ∈ X, die der Nachfolger (“n + 1”) jedem seiner
Elementen (“n”) enthält, ist gleich ganz N.
Die Idee ist, dass wenn man ein Sachverhalt P (n) für alle n ∈ N zeigen
möchte, dann versucht man zu zeigen, dass die Menge X = {n ∈ N | P (n)}
gleich ganz N ist. Unter Benutzung des Induktionsprinzip ergibt sich zunächst
einmal folgender Methode:
“schwache” Induktion
Zu zeigen: P (n) gilt für alle n ∈ N
Beweismethode:
1. Verankerung: Zeige, dass P (0) gilt.
2. Zeige, dass ∀n(P (n) → P (n + 1))). D.h., gilt P (x) für eine Zahl n,
dann gilt es auch für n + 1 (hier ist unser Induktionsprinzip: die
Menge der Zahlen n für die P (n) gilt enthät der Nachfolger jedes
seiner Elementen).
Der Klarheit halber trennt man diesen Teil in:
Induktionsannahme: Es gelte P (n) für eine Zahl n.
Induktionsschritt: Zeige, dass unter der Induktionsannahme auch P (n+
1) gilt
Satz 1.5.6. Die Summe der Natürliche Zahlen 1 bis n ist n(n + 1)/2.
Beweis.
Verankerung. P (0) lautet ‘Die Summe der Zahlen bis 0 ist gleich 0’.
Induktionsannahme. Sei n ≥ 0 und nehmen wir an, dass 0 + 1 + . . . + n =
n(n+1)
.
2
Induktionsschritt. Betrachte die Summe der Zahlen bis n + 1. Es gilt
0 + 1 + 2 + . . . + n + (n + 1) =
n(n + 1)
(n + 1)(n + 2)
+ (n + 1) =
2
2
wobei die erste Gleichung folgt mit der Induktionsannahme, die andere
durch elementare Umformungen.
14
Man sieht, dass der Induktionsprinzip auch allgemeiner hilft, wenn man eine
Eigenschaft für ‘alle Zahlen grösser als einem gegebenem Startwert n0 ’, indem
man eben die 0 in der obigen Methode mit n0 ersetzt. Als Beispiel lösen wir das
Josephus-Problem.
Satz 1.5.7. Für die n-te Josephus-Zahl gilt: J(n) = 2l + 1 wobei l ist so, dass
2m ≤ n = 2m + l < 2m+1 für ein m. Kurz, behaupten wir J(2m + l) = 2l + 1.
Beweis. Durch Induktion, startend mit n = 1.
Verankerung bei n = 1. Man sieht sofort anhand der Zeichnung, dass
J(1) = 1
Induktionsannahme. Sei n ≥ 1 und wir nehmen an, dass die Behauptung
gilt für die Zahl n.
Induktionsschritt. Betrachten wir eine Josephus-Situation mit n + 1 Positionen. Bei dem ersten ‘Schritt’ im Josephus-Verfahren wird die Position 2
eliminiert. Wenn wir die erste Position umbenennen nach n + 2 haben wir
ein Josephus-Spiel mit n positionen, die von 3 bis n + 2 nummeriert sind
(also ihre Nummer ist 2 mehr als ihre - neue - Position). Diesen Josephus
wird dann bei Position J(n) enden.
Nun schreibe wie oben n + 1 = 2m + l. Dann gibt es zwei Fälle:
(a) l = 0, also n = 2m−1 + (2m−1 − 1) und deshalb J(n) = 2(2m−1 − 1) +
1 = 2m − 1, das n-Josephus endet in Position 2m − 1 = n und damit
J(n + 1) = 1 = 2l + 1.
(b) l > 0. Dann ist n = 2m + l − 1 und deshalb J(n) = 2(l − 1) + 1.
Insbesondere J(n) �= n, da dies l = 2m + 1 implizieren würde. Also
gilt J(n + 1) = J(n) + 2 = 2l + 1.
Bemerkung 28. Dieser Beweis benutzt zwar nicht die Erkenntnisse, die wir
schon über den Josephus haben, suggeriert aber folgendes Problem: Was passiert
wenn wir die Josephus-Frage betrachten, aber anstatt jeder zweiten jede k-ter
Position eliminieren?
“starke” Induktion
Eine Alternative bietet die folgende, zur vorhergehenden äquivalente (!) Version
der Induktion.
Zu zeigen: P (n) gilt für alle n ∈ N
Beweismethode:
1. Verankerung: Zeige, dass P (0) gilt.
2. Zeige, dass ∀n((∀k ≤ n : P (k)) → P (n + 1))). D.h., gilt P (x) für alle
Zahlen bis n, dann gilt es auch für n + 1.
Der Klarheit halber trennt man diesen Teil in:
Induktionsannahme: Sei n ≥ 0 und es gelte P (k) für alle Zahlen
k ≤ n.
Induktionsschritt: Zeige, dass unter der Induktionsannahme auch P (n+
1) gilt
15
Satz 1.5.8. Jede natürliche Zahl grösser als 1 ist entweder eine Primzahl oder
lässt sich als Produkt von Primzahlen schreiben.
Beweis. Durch Induktion.
Verankerung. Der Satz gilt trivialerweise für 2 ∈ N.
Induktionsannahme. Sei n > 0 und es gelte der Satz für alle Zahlen in
{0, . . . , n − 1}.
Induktionsschritt. Ist n = 1 oder n eine Primzahl, so ist nichts weiter zu
zeigen. Sei also n keine Primzahl - das heisst, es gibt ganze Zahlen p, q,
beide ungleich 1, sodass n = pq.
Weil p und q ungleich 1 sind, sind sie auch beide strikt kleiner als n: der
Satz gilt dann nach Induktionsvoraussetzung für p und q, d.h., es gibt
Primzahlen p1 , . . . , pk und q1 , . . . , qh mit p = p1 . . . pk und q = q1 . . . qh (k
oder h können auch 1 sein, falls p bzw. q Prim ist). Wir erhalten
n = pq = p1 · · · pk q1 · · · qh ,
und deshalb gilt der Satz auch für n.
16
Herunterladen