Formale Methoden 2 - LS1 - Logik in der Informatik

Werbung
Formale Methoden 2
Gaetano Geck
Lehrstuhl I – Logik in der Informatik
WS 2014/2015
1
Mengen
2
Relationen
3
Abbildungen
4
Algebraische Strukturen
Verknüpfungen
Monoide
Beispiel: Restklassen
Exkurs: Formale Sprachen
5
Ordnungen und spezielle Relationen
Mengenlehre / Algebraische Strukturen
Verknüpfungen: Assoziativität, Kommutativität
Als Operatoren oder Verknüpfungen werden Abbildungen bezeichnet,
die gleichartige oder ähnliche Objekte miteinander verbinden (meist unär oder binär).
√
d
+, ×,
, dx
, ∇;
Die Argumente heißen Operanden.
Beispiele:
◦,
Definition 4.1 (Assoziativität, Kommutativität)
Eine binäre Verknüpfung • : X × X → X ist
assoziativ, wenn (x • y) • z = x • (y • z) für alle x, y, z ∈ X gilt;
kommutativ, wenn x • y = y • x für alle x, y ∈ X gilt.
Beispiele 4.2
Die Addition ist assoziativ und kommutativ.
Die Komposition ist assoziativ, aber nicht kommutativ.
Vereinigung und Schnittbildung sind assoziativ und kommutativ.
Die Division ist weder assoziativ noch kommutativ.
Aufgabe
Geben Sie ein Gegenbeispiel zur Kommutativität der Komposition von Abbildungen an.
FM2 (WS 2014/15, Geck)
49
Mengenlehre / Algebraische Strukturen
Verknüpfungen: Distributivität
Bemerkung:
Assoziative Verknüpfungen erlauben das Weglassen von Klammern ohne Änderung
des Ergebnisses: (a + (b + (c + d))) = (a + b) + (c + d) = a + b + c + d.
Kommutative Verknüpfungen erlauben beliebige Reihenfolgen der Operanden ohne
Änderung des Ergebnisses: a + b + c + d = d + c + b + a.
Definition 4.3 (Distributivität)
Seien •, ? : X × X → X zwei Verknüpfungen. Die Verknüpfung • ist distributiv über ?,
wenn für alle x, y, z ∈ X gilt:
x • (y ? z) = (x • y) ? (x • z)
|
{z
}
und
(x ? y) • z = (x • z) ? (y • z) .
|
{z
}
linksdistributiv
rechtsdistributiv
Beispiele 4.4
Die Multiplikation ist distributiv über der Addition:
a · (b + c) = (a · b) + (a · c)
Die Vereinigung ist distributiv über dem Schnitt,
M ∪ (N ∩ Q) = (M ∪ N) ∩ (M ∪ Q),
und ebenso der Schnitt über der Vereinigung (Aufgabe 1.3b)).
FM2 (WS 2014/15, Geck)
50
Mengenlehre / Algebraische Strukturen
Verknüpfungen: Abgeschlossenheit
Situation:
Verknüpfung • ist auf einer Menge X definiert,
man betrachtet eine Teilmenge Y ⊆ X
Frage: Ist die Verknüpfung von Operanden aus Y selbst in Y ?
Beispiel 4.5
Betrachte Z mit der Subtraktion und Teilmenge N0 ,
dann gibt es n, m ∈ N0 , sodass (n − m) < N0 .
Betrachte die Menge F aller Funktionen f : R → R mit der Komposition und der
Teilmenge P der Polynome,
P = {p : R → R | p(x) = an xn +. . .+a1 x1 +a0 für alle x ∈ R, wobei n ∈ N0 , an , . . . , a0 ∈ R},
• dann ist (p + q) ∈ P,
• und es ist (p ◦ q) ∈ P,
• aber es gibt p, q ∈ P, sodass (p/q) < P ist.
(Für f , g ∈ F ist (f + g)(x) = f (x) + g(x))
Definition 4.6
Sei • : X n → X eine n-stellige Verknüpfung auf X . Eine Teilmenge Y ⊆ X heißt
abgeschlossen unter •, wenn für alle y1 , . . . , yn ∈ Y auch •(y1 , . . . , yn ) ∈ Y gilt.
Umformulierung: Die Menge der Polynome ist also unter der (argumentweisen) Addition
und der Komposition für Funktionen abgeschlossen, nicht jedoch unter Division.
FM2 (WS 2014/15, Geck)
51
Mengenlehre / Algebraische Strukturen
Monoide
Definition 4.7
Eine Halbgruppe (M, •) ist eine Menge M mit einer assoziativen Verknüpfung
• : M × M → M.
Ein Element e ∈ M heißt neutral bezüglich •,
wenn e • m = m = m • e für alle m ∈ M gilt.
Ein Monoid (M, •, e) ist eine Halbgruppe (M, •) mit neutralem Element e.
Beispiele 4.8
P(X), ∪, ∅ ist für jede Menge X ein Monoid: ∅ ∪ X = X = X ∪ ∅.
(N0 , +, 0) ist ein Monoid: 0 + n = n = n + 0.
(N, +) ist eine Halbgruppe ohne neutrales Element.
(N, ·, 1) ist ein Monoid: 1 · n = n = n · 1.
FM2 (WS 2014/15, Geck)
52
Mengenlehre / Algebraische Strukturen
Monoide: Erzeugtes freies Monoid
Definition 4.9
Für eine nichtleere Menge Σ ist (Σ∗ , ◦, ε) das von Σ erzeugte freie Monoid, wobei
Σ∗ =
S
n∈N0
Σn die Menge aller endlichen Folgen (Tupel) ist,
die Konkatenation ◦ zwei Folgen durch Hintereinanderschreiben zu einer verknüpft:
(σ1 , . . . , σk ) ◦ (τ1 , . . . , τ` ) = (σ1 , . . . , σk , τ1 , . . . , τ` ) und
ε die leere Folge () ist.
Beispiel 4.10
Für Σ = Z ergibt sich beispielsweise (Z∗ , ◦, ε) mit
Z∗ = {ε} ∪ {(n1 , . . . , nk ) | es gibt ein k ∈ N0 und n1 , . . . , nk ∈ Z} gilt beispielsweise
ε, (3), (1, 2), (1, 2, 1, 3, 4) ∈ Z∗
(3) ◦ (1, 2) = (3, 1, 2), (1, 2) ◦ 3 = (1, 2, 3) und ε ◦ (1, 2) = (1, 2)
Bemerkung: Es handelt sich um ein Monoid, da das Hintereinanderschreiben eine
assoziative Verknüpfung ist:
(1) ◦ (2, 3) ◦ (4, 5) = (1, 2, 3) ◦ (4, 5) = (1, 2, 3, 4, 5) = (1) ◦ (2, 3, 4, 5) = (1) ◦ (2, 3) ◦ (4, 5)
FM2 (WS 2014/15, Geck)
53
Mengenlehre / Algebraische Strukturen
Monoide: Beispiel – Restklassen Zn
Für jede positive ganze Zahl n ∈ N können die ganzen Zahlen mit gleichem Rest bei
Division durch n zusammengefasst werden, zur Menge Zn der Restklassen modulo n:
o
n
Zn = Z/≡n = [0]≡n , [1]≡n , . . . , [n − 1]≡n .
Bemerkung:
Die Äquivalenzklassen heißen in diesem Fall Restklassen.
Bei festem n, werden die Klammern meist weggelassen
(man merkt sich, dass 2 die Klasse [2]≡n repräsentiert)
Beispiel 4.11
Auf dem Quotienten Zn können eine Addition ⊕ und eine Multiplikation definiert werden:
[k1 ]≡n ⊕ [k2 ]≡n = [k1 + k2 ]≡n für alle k1 , k2 ∈ Z;
[k1 ]≡n [k2 ]≡n = [k1 · k2 ]≡n für alle k1 , k2 ∈ Z.
Fakt 4.12
Zn , ⊕, [0]≡n ist ein Monoid
Zn , , [1]≡n ist ein Monoid
FM2 (WS 2014/15, Geck)
54
Mengenlehre / Algebraische Strukturen
Homomorphismen
Verknüpfungen definieren eine Struktur unter den Elementen einer Menge.
Abbildungen zwischen Monoiden, die diese Struktur „respektieren“
(mit ihr „verträglich“ sind), sind besonders nützlich.
Definition 4.13 ((Monoid-)Homomorphismus)
Eine Abbildung h : M → N zwischen Monoiden (M, •, em ) und (N, ?, en ) ist ein
(Monoid-)Homomorphismus, wenn h(em ) = en und für alle m1 , m2 ∈ M gilt:
h(m1 • m2 ) = h(m1 ) ? h(m2 ).
Ein bijektiver Homomorphismus heißt Isomorphismus.
Beispiel 4.14 (Restklassen)
Die Abbildung h : (Z, +, 0) → Zn , ⊕, [0]≡n mit k 7→ (k mod n) ist ein Homomorphismus.
Zu zeigen ist h(k1 + k2 ) = h(k1 ) ⊕ h(k2 ) für alle k1 , k2 ∈ Z, k1 = q1 n + r1 ; k2 = q2 n + r2
für die eindeutige r1 , r2 ∈ {0, . . . , n − 1}:
h
i
h
i
h(k1 + k2 ) = (q1 n + r1 ) + (q2 n + r2 ) mod n = (q1 + q2 )n + (r1 + r2 ) mod n
= (r1 + r2 ) mod n = [r1 + r2 ]≡n = [r1 ]≡n ⊕ [r2 ]≡n = h(k1 ) ⊕ h(k2 )
FM2 (WS 2014/15, Geck)
55
Mengenlehre / Algebraische Strukturen
Exkurs: Formale Sprachen
Definition 4.15
Ein Alphabet ist eine nichtleere endliche Menge, deren Elemente Zeichen heißen.
Ein Wort ist eine endliche Folge über einem Alphabet.
Konvention: Bereitet die Unterscheidung der Zeichen keine Probleme, werden Klammern
und Kommata weggelassen.
Beispiel 4.16
Alphabet {0, 1} mit zwei Zeichen 0 und 1
und der Menge {0, 1}∗ = {ε, 0, 1, 00, 01, 10, 11, 000, . . . } aller Wörter über {0, 1};
Alphabet {a} mit einem Zeichen a
und der Menge {a}∗ = {ε, a, aa, aaa, aaaa, . . . } aller Wörter über {a}.
Bemerkung:
Das Konkatenationssymbol ◦ wird oftmals weggelassen:
Für w1 = 47 und w2 = 11 ist w1 ◦ w2 = w1 w2 = 4711.
Die n-fache Wiederholung eines Wortes w schreiben wir wn :
Für w = aab gilt w3 = aabaabaab
FM2 (WS 2014/15, Geck)
56
Mengenlehre / Algebraische Strukturen
Exkurs: Formale Sprachen
Definition 4.17
Die Länge |w| eines Wortes ist die Länge der Folge (die Stelligkeit des Tupels).
Für ein Wort w ∈ Σ∗ und ein Zeichen σ ∈ Σ ist #σ (w) die Anzahl der Vorkommen von
σ in w.
Die Umkehrung wR eines Wortes w = σ1 . . . σn ist wR = σn . . . σ1 .
Beispiele 4.18
|ε| = 0, |010| = 3, |03 15 | = 8
#a (aabab) = 3, #b (aabab) = 2
(aabab)R = babaa
Fakt 4.19
Für jedes Alphabet Σ und jedes Zeichen σ ∈ Σ gilt:
| · | ist ein Homomorphismus von Σ∗ , ◦, ε in (Z, +, 0);
#σ ist ein Homomorphismus von Σ∗ , ◦, ε in (Z, +, 0).
FM2 (WS 2014/15, Geck)
57
Mengenlehre / Algebraische Strukturen
Exkurs: Formale Sprachen
Definition 4.20
Eine (formale) Sprache über einem Alphabet Σ ist eine Teilmenge von Σ∗ .
Bemerkung:
Die leere Sprache ∅ (die kein Wort enthält) ist Sprache über jedem Alphabet;
ebenso die Sprache {ε} (die nur das leere Wort enthält).
Beispiel 4.21
L1 = {a2n | n ∈ N0 } = {ε, aa, aaaa, . . . }
ist die Menge aller Wörter gerader Länge über dem Alphabet {a}
L2 = {w ∈ {a, b}∗ | #a (w) > 0} = {a, aa, ab, ba, aaa, aab, . . . }
ist die Menge aller Wörter über dem Alphabet {a, b} mit mindestens einem a
Aufgaben
Beschreiben Sie die folgenden Sprachen informell:
L3 = {an bn | n ∈ N0 }
L4 = {wwR | w ∈ {a, b}∗ }
L5 = {w
FM2 (WS 2014/15, Geck)
| w ∈ {o, t}∗ , w = wR }
58
Mengenlehre / Algebraische Strukturen
Exkurs: Formale Sprachen
Die Betrachtung relativ abstrakter formaler Sprachen kann (zum Teil)
durch Homomorphismen (eingeschränkte Umbenennungen) gerechtfertigt werden.
Fakt 4.22
Ein Homomorphismus von (Σ∗ , ◦, ε) in (Γ∗ , ◦, ε) ist eine Abbildung h : Σ∗ → Γ∗ der Form
h(ε)
h(σ1 . . . σn )
=
=
ε
h(σ1 ) ◦ · · · ◦ h(σn )
Bemerkung: Es genügt also, die Bilder von h unter den Zeichen von Σ zu definieren
(h0 : Σ → Γ∗ statt h : Σ∗ → Γ∗ ), die Fortsetzung auf Σ∗ ergibt sich dann über obige Gleichung.
Beispiel 4.23
Sei h03 : {a, b} → {begin, end}∗ mit h03 (a) = begin, h03 (b) = end,
dann ist h3 (L3 ) = {ε, begin end, begin begin end end, . . . }
die Sprache der korrekten Klammerungen von begin- und end-Schlüsselwörtern.
Aufgabe
Sei h02 : {a, b} → {a, b}∗ mit h02 (a) = aa und h02 (b) = ε.
Bestimmen Sie h2 (L3 ).
Bestimmen Sie h2 (L2 ).
FM2 (WS 2014/15, Geck)
59
Herunterladen