4. Induktives Definieren

Werbung
Induktives Definieren
4. Induktives Definieren - Themenübersicht
Induktives Definieren
Natürliche Zahlen
Operationen auf natürlichen Zahlen
Induktive Algorithmen
Induktiv definierte Mengen
Binärbäume
Boolesche Terme
Syntaktische Substitution
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
108 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Natürliche Zahlen
Definition 4.1 (Peano-Axiome) (4.1)
P1 0 ist eine natürliche Zahl: 0 ∈ N.
P2 Jede natürliche Zahl n besitzt eine eindeutig bestimmte natürliche
Zahl s(n) als Nachfolger:
∀ n ∈ N. ∃ m ∈ N. m = s(n)
P3 0 ist nicht Nachfolger einer natürlichen Zahl:
@ n ∈ N. 0 = s(n)
P4 Verschiedene natürliche Zahlen haben verschiedene Nachfolger:
∀ m, n ∈ N. n 6= m ⇒ s(n) 6= s(m)
P5 Induktionsaxiom: Ist M ⊆ N mit 0 ∈ M und der Eigenschaft, dass aus
n ∈ M auch s(n) ∈ M folgt, so muss M = N gelten.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
109 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Existenz und Eindeutigkeit des Vorgängers
Lemma 4.1
Jede von 0 verschiedene natürliche Zahl n ist Nachfolger einer eindeutig
bestimmten anderen natürlichen Zahl. Diese wird auch als Vorgänger von
n bezeichnet.
Beweis
Sei n ∈ N von 0 verschieden. Zunächst zeigen wir, dass n Nachfolger einer
natürlichen Zahl m ∈ N ist bzw. in der Menge M 0 liegt, die definiert ist
durch:
M 0 =df {s(m) | m ∈ N}.
Sei weiter M ⇔df M 0 ∪ {0}. Wegen (P2) impliziert m ∈ M auch
s(m) ∈ M. Damit liegen die Voraussetzungen des Induktionsaktioms (P5)
vor und es folgt M = N. Wegen (P3) gilt außerdem M 0 = N\{0}. Somit
gilt n ∈ M 0 . Die Eindeutigkeit des Vorgängers folgt direkt aus Axiom (P4).
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
110 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Operationen auf natürlichen Zahlen
Definition 4.2 (Addition natürlicher Zahlen) (4.2)
Die Addition zweier Zahlen aus N ist induktiv definiert durch
0 + m =df
m
s(n) + m =df
s(n + m)
Definition 4.3 (Multiplikation natürlicher Zahlen) (4.2)
Die Multiplikation zweier Zahlen aus N ist induktiv definiert durch
0 · m =df
s(n) · m =df
Prof. Dr. Bernhard Steffen
0
m + (n · m)
Mathematik für Informatiker 1 - 2013
111 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Beispiele
Addition von 2 und 1
s(s(0)) + s(0)
(b)
=
(b)
=
(a)
=
s(s(0) + s(0))
s(s(0 + s(0)))
s(s(s(0)))
Multiplikation von 2 und 3
s(s(0)) · s(s(s(0)))
(d)
=
(d)
=
(c)
=
..
.
(a)
=
Prof. Dr. Bernhard Steffen
s(s(s(0))) + (s(0) · s(s(s(0))))
s(s(s(0))) + (s(s(s(0))) + (0 · s(s(s(0)))))
s(s(s(0))) + (s(s(s(0))) + 0)
s(s(s(s(s(s(0))))))
Mathematik für Informatiker 1 - 2013
112 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Operationen auf natürlichen Zahlen
Definition (Induktiv fortgesetzte Summen und Produkte)
k
X
ni =df

 0
k−1
P
i=1
 (
k
Y

 1
ni =df
i=1
Prof. Dr. Bernhard Steffen
 (
falls k = 0
ni ) + nk
sonst
i=1
k−1
Q
falls k = 0
ni ) · nk
sonst
i=1
Mathematik für Informatiker 1 - 2013
113 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Operationen auf natürlichen Zahlen
Definition 4.1 (Fakultät und Potenzen) (Beispiel 4.1)
n! =df
n
Q
i = (. . . (1 · 2) . . .) · n)
i=1
mn =df
n
Q
i=1
Prof. Dr. Bernhard Steffen
m = (. . . (m · m) . . .) · m) .
|
{z
}
n mal
Mathematik für Informatiker 1 - 2013
114 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Operationen auf natürlichen Zahlen
Lemma 4.2
Für alle n ∈ N gilt: n + 1 = s(n).
Beweis (1/2)
Wir definieren die zu der obigen Gleichheit gehörige Menge M durch:
M =df {n ∈ N | n + 1 = s(n)}.
Offensichtlich gilt 0 ∈ M, denn:
0 + 1 = 0 + s(0)
Prof. Dr. Bernhard Steffen
(Def . 4.2.a)
=
Mathematik für Informatiker 1 - 2013
s(0).
115 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Operationen auf natürlichen Zahlen
Lemma 4.2
Für alle n ∈ N gilt: n + 1 = s(n).
Beweis (2/2)
Für n ∈ M folgt weiter auch s(n) ∈ M, denn:
s(n) + 1
(Def . 4.2.b)
=
s(n + 1)
(n∈M)
=
s(s(n)).
Also folgt M = N mit dem Induktionsaxiom (P5), womit die Aussage
bewiesen ist.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
116 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Türme von Hanoi
Für n = 0 ist nichts zu tun.
Für n > 0
Verschiebe n − 1 Scheiben von Stapel A nach B, wobei C als
Hilfsstapel dient.
Verschiebe die n-te Scheibe von Stapel A nach C .
Verschiebe n − 1 Scheiben von Stapel B nach C , wobei A als
Hilfsstapel dient.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
117 / 140
Induktives Definieren
4.1 Natürliche Zahlen
Induktiv strukturierte Mengen
Definition 4.4 (4.4)
Sei
1
A eine Menge elementarer oder atomarer Bausteine und
2
O eine Menge von Operatoren (oder Konstruktoren) mit zugehörigen
Stelligkeiten k ≥ 1, die es erlauben, kleinere Bausteine zu grösseren
Einheiten zusammenzusetzen.
Die durch A und O induktiv beschriebene Menge M ist die kleinste
Menge, für die gilt:
1
A ⊆ M und
2
Ist o ein Operator der Stelligkeit k und sind m1 , . . . , mk ∈ M, so ist
auch o(m1 , . . . , mk ) ∈ M.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
118 / 140
Induktives Definieren
4.2 Induktiv strukturierte Mengen
Induktiv strukturierte Mengen: Binäre Bäume
Beispiel 4.5 (4.2)
Binäre Bäume sind die kleinste Menge mit
1
Der leere Binärbaum − ist ein atomarer Binärbaum und
2
Falls T1 und T2 Binärbaume sind, so ist auch [T1 , T2 ] ein Binärbaum.
T1 ist linker und T2 rechter Teilbaum von diesem.
[[[−, −], [[−, −], −]], [−, −]]
Prof. Dr. Bernhard Steffen
'
Mathematik für Informatiker 1 - 2013
119 / 140
Induktives Definieren
4.2 Induktiv strukturierte Mengen
Induktiv strukturierte Mengen: Boolesche Terme
Definition 4.6 (4.5)
Sei V eine Menge von Booleschen Variablen, z.B. V = {X , Y , Z , ...}. Die
Menge BT aller Booleschen Terme über V ist die kleinste Menge mit:
1
2
T, F und Boolesche Variable aus V sind atomare Boolesche Terme.
Sind t1 und t2 Boolesche Terme, so sind auch
¬t1 , die Negation von t1 ,
( t1 ∧ t2 ), die Konjunktion von t1 und t2 und
( t1 ∨ t2 ), die Disjunktion von t1 und t2
Boolesche Terme.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
120 / 140
Induktives Definieren
4.2 Induktiv strukturierte Mengen
Syntaktische Substitution
Definition 4.7 (4.6)
Die Substitution ist eine dreistellige Abbildung
·[·/·] : BT × BT × V → BT .
t1 [t2 /X ] intuitiv: Der Term, der entsteht, wenn in t1 die Variable X an
allen Stellen durch den Term t2 ersetzt wird.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
121 / 140
Induktives Definieren
4.2 Induktiv strukturierte Mengen
Syntaktische Substitution
Definition 4.7
Die Substitution ist eine dreistellige Abbildung
·[·/·] : BT × BT × V → BT .
t1 [t2 /X ] formal: Induktiv über den Aufbau von t1
T[t/X ] =df T
F[t/X ] =df F
t
falls Y = X
Y [t/x] =df
Y sonst
(¬t1 )[t/x] =df ¬(t1 [t/x])
(t1 ∧ t2 )[t/x] =df (t1 [t/x] ∧ t2 [t/x])
(t1 ∨ t2 )[t/x] =df (t1 [t/x] ∨ t2 [t/x])
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
122 / 140
Induktives Definieren
4.2 Induktiv strukturierte Mengen
Syntaktische Substitution
Beispiel 4.8 (4.3)
¬(Y ∧ X )[t/X ]
Prof. Dr. Bernhard Steffen
=
¬((Y ∧ X )[t/X ])
=
¬(Y [t/X ] ∧ X [t/X ])
=
¬(Y ∧ X [t/X ])
=
¬(Y ∧ t)
Mathematik für Informatiker 1 - 2013
123 / 140
Darstellung und deren Bedeutung
5. Darstellung und deren Bedeutung - Übersicht
Darstellung und deren Bedeutung
Zeichreihen
Semantikschemata
Backus-Naur-Form
Induktive Semantikschemata
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
124 / 140
Darstellung und deren Bedeutung
Repräsentation
Repräsentanten der natürlichen Zahl ”‘vier”’:
Dezimal: 4
Binär: 100
Unär: ||||
Römisch: IV
Umgekehrt: Unterschiedliche Interpretation der Repräsentation ”‘IV”’:
Römische Zahl
Akronym (Individualverkehr, Intravenös,..)
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
125 / 140
Darstellung und deren Bedeutung
5.1 Zeichenreihen
Zeichenreihen
Definition 5.1 (4.7)
Sei A eine endliche Menge von Zeichen (auch Alphabet genannt). Eine
Zeichenreihe (auch Wort) w der Länge n ∈ N über A ist eine Funktion
w : {1, . . . , n} → A. Für n = 0 ist {1, . . . , n} leer. Man bezeichnet die
Zeichenreihe als das leere Wort .
Die Menge aller Zeichenreihen über A mit Länge n wird mit An bezeichnet
(A0 = {}).
Kleenesche Hülle A∗ von A:
A∗ =df
[
An .
n∈N
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
126 / 140
Darstellung und deren Bedeutung
5.1 Zeichenreihen
Zeichenreihen
Definition 5.2 (4.8)
Seien w1 und w2 Zeichenreihen der Länge n und m über A. Dann ist die
Konkatenation von w1 und w2 definiert durch:
w1 w2 : {1, .. . , n + m} → A
w1 (i)
falls 1 ≤ i ≤ n
w1 w2 (i) =
w2 (i − n) falls n + 1 ≤ i ≤ n + m
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
127 / 140
Darstellung und deren Bedeutung
5.2 Semantikschemata
Semantikschemata
Definition 5.3 (4.9)
Ein Semantikschema ist ein Tripel (R, I, [[ · ]]) mit
R: Menge der Repräsentationen,
I: Menge der Informationen,
[[ · ]] ⊆ R × I: Semantikrelation oder Interpretation.
Statt [[ · ]](r ) schreibt man [[ r ]].
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
128 / 140
Darstellung und deren Bedeutung
5.2 Semantikschemata
Unärdarstellung natürlicher Zahlen
Beispiel 5.4 (4.4)
Ru =df {|}+ = {|, ||, |||, . . .},
Iu =df N+ = {1, 2, . . . },
[[ · ]]u ist definiert durch [[ || . . . | ]]u =df n.
| {z }
n
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
129 / 140
Darstellung und deren Bedeutung
5.2 Semantikschemata
Dezimaldarstellung natürlicher Zahlen
Beispiel 5.5 (4.5)
Rd =df {0, . . . , 9}+ ,
Id =df N =df {0, 1, 2, . . .},
[[ · ]]d ist definiert durch
[[ w ]]d =df
n
X
10n−i · [[ w (i) ]]z
i=1
Dabei bezeichnet [[ · ]]z den Wert einer Dezimalziffer, also
[[ 0 ]]z =df 0, . . . , [[ 9 ]]z =df 9.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
130 / 140
Darstellung und deren Bedeutung
5.2 Semantikschemata
Binärdarstellung natürlicher Zahlen
Beispiel 5.6 (4.6)
Rb =df {0} ∪ {1 w | w ∈ {0, 1}∗ }
Ib =df N
[[ · ]]b ist definiert durch
[[ w ]]b =df
n
X
2n−i · [[ w (i) ]]bz
i=1
Dabei bezeichnet [[ · ]]bz den Wert einer Binärziffer, also
[[ 0 ]]bz =df 0 und [[ 1 ]]bz =df 1.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
131 / 140
Darstellung und deren Bedeutung
5.2 Semantikschemata
Binärdarstellung endl. Mengen natürlicher Zahlen
Beispiel 5.7 (4.7)
Rbs =df {0, 1}+ ,
Ibs =df P(N) und
[[ · ]]bs ist definiert durch
[[ w ]]bs = {|w | − i | i ∈ {1, . . . , |w |} ∧ w (i) = 1}.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
132 / 140
Darstellung und deren Bedeutung
5.3 Backus-Naur-Form
Backus-Naur-Form
Definition (BNF)
BNF besteht aus endlich vielen Regeln der Form
<N> ::= w .
Linke Regelseite: Nichtterminalsymbol
Rechte Regelseite: Zeichenreihe (ggf. auch leer), die sowohl
Nichtteminalsymbole als auch Terminalsymbole enthalten kann.
Notation: Statt
<N> ::= w1
...
<N> ::= wn
schreibt man kurz
Prof. Dr. Bernhard Steffen
<N> ::= w1 | . . . | wn
Mathematik für Informatiker 1 - 2013
133 / 140
Darstellung und deren Bedeutung
5.3 Backus-Naur-Form
Beispiel zur Backus-Naur-Form
Beispiel 5.8 (BNF für natürliche Zahlen)
Die natürlichen Zahlen sind durch die folgende BNF definiert:
<Nat> ::= 0 | s(<Nat>)
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
134 / 140
Darstellung und deren Bedeutung
5.3 Backus-Naur-Form
BNF als Generator
Definition (Ableitungsrelation)
Seien T die Terminalzeichen, N die Nichtterminalzeichen und R die Regeln
einer BNF, so ist die Ableitungsrelation ⇒ ⊆ (N ∪ T)∗ × (N ∪ T)∗ wie
folgt definiert:
w
⇒ w 0 ⇔df
∃ w1 , w2 ∈ (N ∪ T)∗ , A ::= w̃ ∈ R. w = w1 A w2 ∧ w 0 = w1 w̃ w2
⇒k : Ableitungsfolge in k Schritten (k ∈ N)
S
⇒∗ =df
⇒k : Beliebige Ableitungsfolge
k∈N
Von Nichtterminal A erzeugte Sprache:
L(A) =df {w ∈ T∗ | A ⇒∗ w }.
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
135 / 140
Darstellung und deren Bedeutung
5.3 Backus-Naur-Form
BNF als Generator
Beispiel (Ableitungsfolge)
<Nat>
Prof. Dr. Bernhard Steffen
⇒
s(<Nat>)
⇒
s(s(<Nat>))
⇒
s(s(s(<Nat>)))
⇒
s(s(s(0)))
Mathematik für Informatiker 1 - 2013
136 / 140
Darstellung und deren Bedeutung
5.3 Backus-Naur-Form
Beispiele zur Backus-Naur-Form
Beispiel 5.9 (BNF für Dezimalzahlen) (4.9)
<DezimalZahl> ::= <DezimalZahl><Ziffer> | <Ziffer>
<Ziffer> ::= 0| . . . |9
Beispiel 5.10 (BNF für Boolesche Terme) (4.10)
<BT>::= T|F| <V > | ¬ <BT> | ( <BT> ∧ <BT> ) | ( <BT> ∨ <BT> )
<V >::= X0 | X1 | . . .
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
137 / 140
Darstellung und deren Bedeutung
5.4 Induktive Semantikschemata
Dezimaldarstellung natürlicher Zahlen
Beispiel 5.11 (4.11)
Rd =df {0, . . . , 9}+ ,
Id =df N =df {0, 1, 2, . . .}: Natürliche Zahlen (als Informationen,
nicht als ihre Notation im Dezimalsystem!) und
[[ · ]]d ist induktiv definiert durch
Prof. Dr. Bernhard Steffen
[[ z ]]d
=df
[[ z ]]z
[[ w z ]]d
=df
10 · [[ w ]]d + [[ z ]]d
Mathematik für Informatiker 1 - 2013
138 / 140
Darstellung und deren Bedeutung
5.4 Induktive Semantikschemata
Induktive Semantikschemata
Definition 5.12 (Semantikfunktion (1/2)) (4.10)
Die Semantikfunktion für Boolesche Terme ist eine Funktion
[[ · ]] : BT → (BV → {w , f }),
die einem Booleschen Term unter Zuhilfenahme einer Belegung einen
Wahrheitswert zuordnet. Sie ist wie folgt induktiv definiert:
[[ T ]]B (β) =df w
[[ F ]]B (β) =df f
[[ X ]]B (β) =df β(X ) für alle X ∈ V
[[ (¬t1 ) ]]B (β) =df ¬([[
˙ t1 ]]B (β))
[[ (t1 ∧ t2 ) ]]B (β) =df ([[ t1 ]]B (β) ∧˙ [[ t2 ]]B (β))
[[ (t1 ∨ t2 ) ]]B (β) =df ([[ t1 ]]B (β) ∨˙ [[ t2 ]]B (β))
Prof. Dr. Bernhard Steffen
Mathematik für Informatiker 1 - 2013
139 / 140
Darstellung und deren Bedeutung
5.4 Induktive Semantikschemata
Induktive Semantikschemata
Definition 5.12 (Semantikfunktion (2/2)) (4.10)
˙ ∨˙ semantische Operationen auf den Wahrheitswerten
Dabei sind ¬,
˙ ∧,
{w , f }, die durch folgende Wahrheitstafel beschrieben sind:
b1
f
f
w
w
b2
f
w
f
w
Prof. Dr. Bernhard Steffen
¬b
˙ 1
w
w
f
f
b1 ∨˙ b2
f
w
w
w
b1 ∧˙ b2
f
f
f
w
Mathematik für Informatiker 1 - 2013
140 / 140
Herunterladen