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
FM2 (WS 2014/15, Geck) 49 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). Beispiele:, d dx, ; +,,, Die Argumente heißen Operanden. 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) 50 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: Beispiele 4.4 x (y z) = (x y) (x z) } {{ } linksdistributiv Die Multiplikation ist distributiv über der Addition: und (x y) z = (x z) (y z). } {{ } rechtsdistributiv 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)).
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 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 N 0, dann gibt es n, m N 0, sodass (n m) N 0. Betrachte die Menge F aller Funktionen f : R R mit der Komposition und der Teilmenge P der Polynome, P = {p : R R p(x) = a n x n +...+a 1 x 1 +a 0 für alle x R, wobei n N 0, a n,..., a 0 R}, dann ist (p + q) P, und es ist (p q) P, aber es gibt p, q P, sodass (p/q) P ist. Definition 4.6 (Für f, g F ist (f + g)(x) = f (x) + g(x)) Sei : X n X eine n-stellige Verknüpfung auf X. Eine Teilmenge Y X heißt abgeschlossen unter, wenn für alle y 1,..., y n Y auch (y 1,..., y n ) Y gilt.
FM2 (WS 2014/15, Geck) 52 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. (N 0, +, 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) 53 Monoide: Erzeugtes freies Monoid Definition 4.9 Für eine nichtleere Menge Σ ist (Σ,, ε) das von Σ erzeugte freie Monoid, wobei Σ = n N 0 Σ n die Menge aller endlichen Folgen (Tupel) ist, die Konkatenation zwei Folgen durch Hintereinanderschreiben zu einer verknüpft: (σ 1,..., σ k ) (τ 1,..., τ l ) = (σ 1,..., σ k, τ 1,..., τ l ) und ε die leere Folge () ist. Beispiel 4.10 Für Σ = Z ergibt sich beispielsweise (Z,, ε) mit Z = {ε} {(n 1,..., n k ) es gibt ein k N 0 und n 1,..., n k 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) 54 Monoide: Beispiel Restklassen Z n Für jede positive ganze Zahl n N können die ganzen Zahlen mit gleichem Rest bei Division durch n zusammengefasst werden, zur Menge Z n der Restklassen modulo n: Bemerkung: Z n = Z/ n = { [0] n, [1] n,..., [n 1] n }. 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 Z n können eine Addition und eine Multiplikation definiert werden: [k 1 ] n [k 2 ] n = [k 1 + k 2 ] n für alle k 1, k 2 Z; [k 1 ] n [k 2 ] n = [k 1 k 2 ] n für alle k 1, k 2 Z. Fakt 4.12 ( Zn,, [0] n ) ist ein Monoid ( Zn,, [1] n ) ist ein Monoid
FM2 (WS 2014/15, Geck) 55 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,, e m ) und (N,, e n ) ist ein (Monoid-)Homomorphismus, wenn h(e m ) = e n und für alle m 1, m 2 M gilt: h(m 1 m 2 ) = h(m 1 ) h(m 2 ). Ein bijektiver Homomorphismus heißt Isomorphismus. Beispiel 4.14 (Restklassen) Die Abbildung h : (Z, +, 0) ( Z n,, [0] n ) mit k (k mod n) ist ein Homomorphismus. Zu zeigen ist h(k 1 + k 2 ) = h(k 1 ) h(k 2 ) für alle k 1, k 2 Z, k 1 = q 1 n + r 1 ; k 2 = q 2 n + r 2 für die eindeutige r 1, r 2 {0,..., n 1}: h(k 1 + k 2 ) = [ (q 1 n + r 1 ) + (q 2 n + r 2 ) ] mod n = [ (q 1 + q 2 )n + (r 1 + r 2 ) ] mod n = (r 1 + r 2 ) mod n = [r 1 + r 2 ] n = [r 1 ] n [r 2 ] n = h(k 1 ) h(k 2 )
FM2 (WS 2014/15, Geck) 56 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 w 1 = 47 und w 2 = 11 ist w 1 w 2 = w 1 w 2 = 4711. Die n-fache Wiederholung eines Wortes w schreiben wir w n : Für w = aab gilt w 3 = aabaabaab
FM2 (WS 2014/15, Geck) 57 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 w R eines Wortes w = σ 1... σ n ist w R = σ n... σ 1. Beispiele 4.18 ε = 0, 010 = 3, 0 3 1 5 = 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) 58 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 L 1 = {a 2n n N 0 } = {ε, aa, aaaa,... } ist die Menge aller Wörter gerader Länge über dem Alphabet {a} L 2 = {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: L 3 = {a n b n n N 0 } L 4 = {ww R w {a, b} } L 5 = {w w {o, t}, w = w R }
FM2 (WS 2014/15, Geck) 59 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 (h : Σ Γ statt h : Σ Γ ), die Fortsetzung auf Σ ergibt sich dann über obige Gleichung. Beispiel 4.23 Sei h 3 : {a, b} {begin, end} mit h 3 (a) = begin, h 3 (b) = end, dann ist h 3 (L 3 ) = {ε, begin end, begin begin end end,... } die Sprache der korrekten Klammerungen von begin- und end-schlüsselwörtern. Aufgabe Sei h 2 : {a, b} {a, b} mit h 2 (a) = aa und h 2 (b) = ε. Bestimmen Sie h 2 (L 3 ). Bestimmen Sie h 2 (L 2 ).