Grundbegriffe der Informatik Einheit 17: Relationen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2013/2014 1/61 Anmerkung Änderung im Wintersemester 2013/2014: I nichts über Nerode-Äquivalenzen I auch nicht in der Klausur 2/61 Überblick Äquivalenzrelationen Kongruenzrelationen Halbordnungen Ordnungen Überblick 3/61 Überblick Äquivalenzrelationen Kongruenzrelationen Halbordnungen Ordnungen Äquivalenzrelationen 4/61 Definition I Eine Äquivalenzrelation ist eine Relation R ⊆ M × M auf einer Menge M, die I I I I ist. typischerweise I I I reflexiv, symmetrisch und transitiv Notation ≡, ∼, ≈, oder ähnlich Infixschreibweise also I I I ∀x ∈ M : x ≡ x, ∀x ∈ M : ∀y ∈ M : x ≡ y =⇒ y ≡ x ∀x ∈ M : ∀y ∈ M : ∀z ∈ M : x ≡ y ∧ y ≡ z =⇒ x ≡ z Äquivalenzrelationen 5/61 Einfachstes Beispiel: Identität I = {(x,x ) | x ∈ M } ist Äquivalenzrelation (für jede Menge M), denn I ∀x ∈ M : x = x, I ∀x ∈ M : ∀y ∈ M : x = y =⇒ y = x I ∀x ∈ M : ∀y ∈ M : ∀z ∈ M : x = y ∧ y = z =⇒ x = z Äquivalenzrelationen 6/61 Wichtiges Beispiel: Kongruenz modulo n I I Es sei n ∈ N+ . x,y ∈ Z heißen kongruent modulo n, wenn I I I I die Differenz x − y durch n teilbar ist also x und y gleichen Rest bei Division durch n liefern Schreibweise x ≡ y (mod n) Das ist für jedes n ∈ N+ eine Äquivalenzrelation, denn I I I Reflexivität: x − x = 0 ist Vielfaches von n Symmetrie: mit x − y ist auch y − x = −(x − y) Vielfaches von n Transitivität: I I Wenn x − y = k 1n und y − z = k 2n (mit k 1 ,k 2 ∈ Z), dann auch x − z = (x − y) + (y − z) = (k 1 + k 2 )n ganzzahliges Vielfaches von n Äquivalenzrelationen 7/61 Beispiel: asymtptotisch gleiches Wachstum I f (n) д(n) I I ∃c,c 0 ∈ R+ : ∃n 0 ∈ N0 : ∀n ≥ n 0 : c f (n) ≤ д(n) ≤ c 0 f (n) . reflexiv, symmetrisch, transitiv I siehe Kapitel 13 Äquivalenzrelationen 8/61 Verallgemeinerung: Urbildmengen einer Funktion I Es sei f : M → M 0 I definiere binäre Relation ≡f auf M vermöge ∀x ∈ M ∀y ∈ M : x ≡f y I genau dann wenn f (x ) = f (y) Behauptung: ≡f ist eine Äquivalenzrelation I I I Reflexivität: ∀x ∈ M: f (x ) = f (x ) also x ≡f x Symmetrie: ∀x ∈ M ∀y ∈ M: f (x ) = f (y) =⇒ f (y) = f (x ) also x ≡f y =⇒ y ≡f x Transitivität: ∀x ∈ M ∀y ∈ M ∀z ∈ M: f (x ) = f (y) ∧ f (y) = f (z) =⇒ f (x ) = f (z) also x ≡f y ∧ y ≡f z =⇒ x ≡f z Äquivalenzrelationen 9/61 Bild einer Äquivalenzrelation Äquivalenzrelationen 10/61 Bild einer Äquivalenzrelation Äquivalenzrelationen 11/61 Definitionen I Äquivalenzklasse von x ∈ M ist {y ∈ M | x ≡ y} I Schreibweise [x]≡ oder einfach [x], falls ≡ klar ist I Faktormenge (oder Faserung) von M nach ≡ ist die Menge aller Äquivalenzklassen. I Schreibweise M /≡ = {[x]≡ | x ∈ M } Äquivalenzrelationen 12/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I je zwei gerade Zahlen sind äquivalent Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent zwei Äquivalenzklassen Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent zwei Äquivalenzklassen I [0] = {. . . , −4, −2, 0, 2, 4, . . . } Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent zwei Äquivalenzklassen I I [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . } Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I zwei Äquivalenzklassen I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . } statt Z/≡n schreibt man oft Zn Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I zwei Äquivalenzklassen I I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . } statt Z/≡n schreibt man oft Zn mehr z. B. in „Theoretische Grundlagen der Informatik“ Äquivalenzrelationen 13/61 Beispiel: Äquivalenzklassen von Kongruenz modulo 2 I schreiben kurz ≡2 I x ≡2 y genau dann, wenn x − y durch 2 teilbar, also I I I I zwei Äquivalenzklassen I I I I je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . } statt Z/≡n schreibt man oft Zn mehr z. B. in „Theoretische Grundlagen der Informatik“ I Nerode-Äquivalenz für formale Sprachen Äquivalenzrelationen 13/61 Was ist wichtig Das sollten Sie mitnehmen: I Äquivalenzrelationen I Beispiel Kongruenz modulo n Das sollten Sie üben: I definierenden Eigenschaften überprüfen I Anzahl Äquivalenzklassen bestimmen Äquivalenzrelationen 14/61 Überblick Äquivalenzrelationen Kongruenzrelationen Halbordnungen Ordnungen Kongruenzrelationen 15/61 Äquivalenzrelationen auf Mengen mit „Struktur“ I Beispiel: ≡n auf additiver Gruppe (oder Ring) Z I Frage: Wie ändern sich Funktionswerte, wenn man Argumente durch äquivalente ersetzt? Kongruenzrelationen 16/61 Verträglichkeit mit einstelligen Funktionen und binären Operationen I Sei ≡ Äquivalenzrelation auf M und f : M → M eine Abbildung. I ≡ ist mit f verträglich, wenn für alle x 1 ,x 2 ∈ M gilt: x 1 ≡ x 2 =⇒ f (x 1 ) ≡ f (x 2 ) . I Sei ≡ Äquivalenzrelation und ut eine binäre Operation auf M. I ≡ ist mit ut verträglich, wenn für alle x 1 ,x 2 ∈ M und alle y1 ,y2 ∈ M gilt: x 1 ≡ x 2 ∧ y1 ≡ y2 =⇒ x 1 ut y1 ≡ x 2 ut y2 . Kongruenzrelationen 17/61 Veträglichkeit: Beispiel modulo I Äquivalenz „modulo n“. I Diese Relationen sind mit Addition, Subtraktion und Multiplikation verträglich. I Beispiel: ist und x 1 ≡ x 2 (mod n) also x 1 − x 2 = kn y1 ≡ y2 (mod n) also y1 − y2 = mn dann auch (x 1 + y1 ) − (x 2 + y2 ) = (x 1 − x 2 ) + (y1 − y2 ) = (k + m)n . mit anderen Worten x 1 + y1 ≡ x 2 + y2 Kongruenzrelationen (mod n) . 18/61 Kongruenzrelationen Eine Äquivalenzrelation, die mit allen gerade interessierenden Funktionen oder/und Operationen verträglich ist, nennt man auch eine Kongruenzrelation. Kongruenzrelationen 19/61 Eine Operation für Äquivalenzklassen modulo n I es sei n beliebig, aber fest I für die Äquivalenzklassen von ≡n schreiben wir [x]n I Was ist mit dem Folgenden? + : Zn × Zn → Zn : [x]n + [y]n = [x + y]n Kongruenzrelationen 20/61 Eine Operation für Äquivalenzklassen modulo n I es sei n beliebig, aber fest I für die Äquivalenzklassen von ≡n schreiben wir [x]n I Was ist mit dem Folgenden? + : Zn × Zn → Zn : [x]n + [y]n = [x + y]n I Ist das in Ordnung? I Ist das eine Definition? I Wo kann ein Problem sein? Kongruenzrelationen 20/61 Induzierte Abbildungen für Äquivalenzklassen Allgemein gilt: I Wenn ≡ mit f : M → M verträglich ist, dann ist f 0 : M /≡ → M /≡ : f 0 ([x]) = [f (x )] wohldefiniert. I Wenn ≡ mit ut : M × M → M verträglich ist, dann ist t u 0 : M /≡ × M /≡ → M /≡ : [x] ut 0 [y] = [x ut y] wohldefiniert. Kongruenzrelationen 21/61 Was ist wichtig Das sollten Sie mitnehmen: I Kongruenzrelationen: Verträglichkeit I induzierte Abbildungen/Operationen für Äquivalenzklassen Das sollten Sie üben: I mit Äquivalenzklassen rechnen Kongruenzrelationen 22/61 Überblick Äquivalenzrelationen Kongruenzrelationen Halbordnungen Ordnungen Halbordnungen 23/61 Definition antisymmetrischer Relationen I Relation R ⊆ M × M heißt antisymmetrisch, wenn für alle x,y ∈ M gilt: xRy ∧ yRx =⇒ x = y I Beispiel Mengeninklusion: I I 0 zum Beispiel M = 2M Potenzmenge einer Menge M 0 Relation R = {(A,B) | A ⊆ M 0 ∧ B ⊆ M 0 ∧ A ⊆ B} = {(A,B) | A ∈ M ∧ B ∈ M ∧ A ⊆ B} ⊆M ×M I R ist antisymmetrisch: A ⊆ B ∧ B ⊆ A =⇒ A = B Halbordnungen 24/61 Definition Halbordnung I Relation R ⊆ M × M heißt Halbordnung, wenn sie I I I reflexiv, antisymmetrisch und transitiv ist. I Wenn R Halbordnung auf Menge M ist, nennt man auch M eine halbgeordnete Menge. Halbordnungen 25/61 Definition Halbordnung I Relation R ⊆ M × M heißt Halbordnung, wenn sie I I I reflexiv, antisymmetrisch und transitiv ist. I Wenn R Halbordnung auf Menge M ist, nennt man auch M eine halbgeordnete Menge. I Beispiel Mengeninklusion: I I I A⊆A A ⊆ B ∧ B ⊆ A =⇒ A = B A ⊆ B ∧ B ⊆ C =⇒ A ⊆ C Halbordnungen 25/61 Definition Halbordnung I Relation R ⊆ M × M heißt Halbordnung, wenn sie I I I reflexiv, antisymmetrisch und transitiv ist. I Wenn R Halbordnung auf Menge M ist, nennt man auch M eine halbgeordnete Menge. I Beispiel Mengeninklusion: I I I I A⊆A A ⊆ B ∧ B ⊆ A =⇒ A = B A ⊆ B ∧ B ⊆ C =⇒ A ⊆ C Beachte: es gibt im allgemeinen unvergleichbare Elemente I z. B. {1, 2, 3} * {3, 4, 5} und {3, 4, 5} * {1, 2, 3} Halbordnungen 25/61 Beispiel: Halbordnung auf Wörtern I M = A∗ I Relation vp auf A∗ : w 1 vp w 2 ⇐⇒ ∃u ∈ A∗ : w 1u = w 2 I zum Beispiel im Duden: I I „Klaus“ kommt vor „Klausur“ aber: vp ist echte Halbordnung I keine Beziehung zwischen Klausur und Übung Halbordnungen 26/61 Darstellung von Halbordnungen (1): Graph der gesamten Relation I Beispiel (2 {a,b,c } , ⊆) {a,b,c} {a,b} {a} {a,c} {b} {b,c} {c} {} Halbordnungen 27/61 Darstellung von Halbordnungen (2): Hassediagramm I I zeichne nur H R = (R r I ) r (R r I ) 2 Beispiel (2 {a,b,c } , ⊆) {a,b} {a} {a,b,c} {a,c} {b} {b,c} {c} {} Halbordnungen 28/61 Hassediagramm: enthält „alles Wesentliche“ I Wenn R Halbordnung auf einer endlichen Menge M ist, I dann kann man aus H R das R wieder rekonstruieren: Halbordnungen 29/61 Hassediagramm: enthält „alles Wesentliche“ I Wenn R Halbordnung auf einer endlichen Menge M ist, I dann kann man aus H R das R wieder rekonstruieren: H R∗ = R Halbordnungen 29/61 Minimale und maximale Elemente sei (M, v) halbgeordnet und T ⊆ M. I x ∈ T heißt minimales Element von T , wenn es kein y ∈ T gibt mit y v x und y , x. I x ∈ T heißt maximales Element von T , wenn es kein y ∈ T gibt mit x v y und x , y. Halbordnungen 30/61 Minimale und maximale Elemente: Beispiele I Teilmenge von (2 {a,b,c } , ⊆): ab bc b c {} I zwei maximale Elemente: ab und bc I ein minimales Element: {} Halbordnungen 31/61 Kleinste und größte Elemente sei (M, v) halbgeordnet und T ⊆ M. I x ∈ T heißt kleinstes Element von T , wenn für alle y ∈ T gilt: x v y. I x ∈ T heißt größtes Element von T , wenn für alle y ∈ T gilt: y v x. Halbordnungen 32/61 Kleinte und größte Elemente: Beispiele I Teilmenge von (2 {a,b,c } , ⊆): ab bc b c {} I kein größtes Element I kleinstes Element: {} Halbordnungen 33/61 Kleinte und größte Elemente: Beispiele I Teilmenge von (2 {a,b,c } , ⊆): ab bc b c {} I kein größtes Element I kleinstes Element: {} I Achtung: Eine unendliche Teilmenge kann z. B. genau ein minimales Element haben und trotzdem kein kleinstes! Halbordnungen 33/61 Kleinste und größte Elemente sei (M, v) halbgeordnet und T ⊆ M. I I T kann nicht zwei verschiedene kleinste (bzw. größte) Elemente haben. Beweis für Eindeutigkeit des kleinsten Elements I I I I I seien x 1 und x 2 kleinste Elemente, dann ist x 1 v x 2 , weil x 1 kleinstes Element, und es ist x 2 v x 1 , weil x 2 kleinstes Element, also wegen Antisymmetrie: x 1 = x 2 Beweis für Eindeutigkeit des größten Elements analog Halbordnungen 34/61 Untere und obere Schranken sei (M, v) halbgeordnet und T ⊆ M. I x ∈ M heißt obere Schranke von T , wenn für alle y ∈ T gilt: y v x. I x ∈ M heißt untere Schranke von T , wenn für alle y ∈ T gilt: x v y. Halbordnungen 35/61 Untere und obere Schranken sei (M, v) halbgeordnet und T ⊆ M. I x ∈ M heißt obere Schranke von T , wenn für alle y ∈ T gilt: y v x. I x ∈ M heißt untere Schranke von T , wenn für alle y ∈ T gilt: x v y. I Beachte: untere und obere Schranken von T dürfen außerhalb von T liegen. Halbordnungen 35/61 Untere und obere Schranken: Beispiele I Standardbeispiel: abc ab a ac b bc c {} I T = {{}, {a}, {b}}: obere Schranken {a,b} und {a,b,c}. I T = {{}, {a}, {b}, {a,b}}: die gleichen oberen Schranken. Halbordnungen 36/61 Untere und obere Schranken: Beispiele I Standardbeispiel: abc ab a ac b bc c {} I T = {{}, {a}, {b}}: obere Schranken {a,b} und {a,b,c}. I T = {{}, {a}, {b}, {a,b}}: die gleichen oberen Schranken. Halbordnungen 37/61 Untere und obere Schranken: Beispiele I Standardbeispiel: abc ab a ac b bc c {} I T = {{}, {a}, {b}}: obere Schranken {a,b} und {a,b,c}. I T = {{}, {a}, {b}, {a,b}}: die gleichen oberen Schranken. Halbordnungen 38/61 Untere und obere Schranken müssen nicht existieren I Teilmenge muss keine obere Schranke besitzen I In besitzt z. B. die Gesamtmenge keine obere Schranke. Halbordnungen 39/61 Untere und obere Schranken müssen nicht existieren I Teilmenge muss keine obere Schranke besitzen I In I In (N0 , ≤) besitzt die Gesamtmenge keine obere Schranke. besitzt z. B. die Gesamtmenge keine obere Schranke. Halbordnungen 39/61 Supremum und Infimum I Besitzt die Menge aller oberen Schranken einer Teilmenge T ein kleinstes Element, so heißt dies das Supremum von T I I Schreibweisen F T oder sup(T ) Besitzt die Menge aller unteren Schranken einer Teilmenge T ein größtes Element, so heißt dies das Infimum von T . I brauchen wir hier nicht Halbordnungen 40/61 Supremum und Infimum I Besitzt die Menge aller oberen Schranken einer Teilmenge T ein kleinstes Element, so heißt dies das Supremum von T I I F T oder sup(T ) Besitzt die Menge aller unteren Schranken einer Teilmenge T ein größtes Element, so heißt dies das Infimum von T . I I Schreibweisen brauchen wir hier nicht Supremum (bzw. Infimum) einer Teilmenge müssen nicht existieren I I weil gar keine oberen Schranken vorhanden oder weil von den oberen Schranken keine die kleinste ist Halbordnungen 40/61 Supremum und Infimum: Beispiele I 0 Bei Halbordnungen (2M , ⊆) existieren Suprema immer: I I 0 Supremum von T ⊆ 2M ist die Vereinigung aller Teilmengen von M, die in T liegen Beispiel für das Beispiel: I I I M 0 = {a, b}∗ 0 also ist M = 2M die Menge aller formalen Sprachen L ⊆ M 0 für i ∈ N0 sei Li = {aj bj | j ≤ i} I I I I I I L 0 = {ε} L 1 = {ε, ab} L 2 = {ε, ab, aabb} ... sei T = {Li | i ∈ N0 } F S∞ dann ist T = i=0 Li = {aj bj | j ∈ N0 } Halbordnungen 41/61 Aufsteigende Ketten I aufsteigende Kette I I I abzählbar unendliche Folge (x 0 , x 1 , x 2 , . . . ) von Elementen mit der Eigenschaft: ∀i ∈ N0 : x i v x i+1 . kurz x0 v x1 v x2 v x3 v · · · Halbordnungen 42/61 Aufsteigende Ketten I aufsteigende Kette I I I I abzählbar unendliche Folge (x 0 , x 1 , x 2 , . . . ) von Elementen mit der Eigenschaft: ∀i ∈ N0 : x i v x i+1 . kurz x0 v x1 v x2 v x3 v · · · Beispiel: (2 {a,b } , ⊆) ∗ {ε} ⊆ {ε, ab} ⊆ {ε, ab, aabb} ⊆ {ε, ab, aabb, aaabbb} . . . Halbordnungen 42/61 Vollständige Halbordnungen I Eine Halbordnung heißt vollständig, wenn I I sie ein kleinstes Element ⊥ hat und jede aufsteigende Kette x 0 v x 1 v x 2 v · · · F ein Supremum i x i besitzt. Halbordnungen 43/61 Vollständige Halbordnungen I Eine Halbordnung heißt vollständig, wenn I I I sie ein kleinstes Element ⊥ hat und jede aufsteigende Kette x 0 v x 1 v x 2 v · · · F ein Supremum i x i besitzt. 0 Beispiele: (2M , ⊆) I I kleinstes Element {} S Supremum von T0 ⊆ T1 ⊆ T2 ⊆ · · · ist Ti . Halbordnungen 43/61 Vollständige Halbordnungen: weitere (Nicht-)Beispiele I (N0 , ≤) ist keine vollständige Halbordung I I Ergänze weiteres Element u „über“ allen Zahlen: I I I I unbeschränkt wachsende aufsteigende Ketten wie z. B. 0 ≤ 1 ≤ 2 ≤ · · · besitzen kein Supremum in N0 . N = N0 ∪ {u} und x v y ⇐⇒ x,y ∈ N0 ∧ x ≤ y ∨ (y = u) also sozusagen 0 v 1 v 2 v 3 v ··· vu später noch nützlich I I I N 0 = N0 ∪ {u 1 ,u 2 } und x v y ⇐⇒ x,y ∈ N0 ∧ x ≤ y ∨ x ∈ N0 ∪ {u 1 } ∧ y = u 1 ∨ y = u 2 also sozusagen 0 v 1 v 2 v 3 v · · · v u1 v u2 Halbordnungen 44/61 Monotone Abbildungen I v eine Halbordnung auf einer Menge M. I Abbildung f : M → M monoton, wenn für alle x,y ∈ M gilt: x v y =⇒ f (x ) v f (y) Halbordnungen 45/61 Monotone Abbildungen I v eine Halbordnung auf einer Menge M. I Abbildung f : M → M monoton, wenn für alle x,y ∈ M gilt: x v y =⇒ f (x ) v f (y) I Beispiel: (N0 , ≤) mit Abbildung f (x ) = x + 1 I I x ≤ y =⇒ x + 1 ≤ y + 1 Nichtbeispiel: (N0 , ≤) mit Abbildung f (x ) = x mod 5 I 3 ≤ 10, aber f (3) = 3 0 = f (10). Halbordnungen 45/61 Stetige Abbildungen I (D, v) sei vollständige Halbordnung I Abbildung f : D → D heißt stetig, wenn für jede aufsteigende Kette x 0 v x 1 v x 2 v · · · gilt: G G f ( xi ) = f (x i ) i Halbordnungen i 46/61 Stetige Abbildungen: Beispiele (1) I N 0 = N0 ∪ {u 1 ,u 2 } mit v wie eben I Abbildung f : N 0 → N 0 mit x +1 f (x ) = u 1 u 2 falls x ∈ N0 falls x = u 1 falls x = u 2 ist stetig. I warum? Halbordnungen 47/61 Stetige Abbildungen: Beispiele (2) x + 1 falls x ∈ N0 f (x ) = u j falls x = u j (für j = 1, 2) Zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · : 1. Die Kette wird konstant. I I also x 0 v x 1 v xF2 v · · · v x i = x i+1 = x i+2 = · · · = n 0. also jedenfalls i x i = n 0; Halbordnungen 48/61 Stetige Abbildungen: Beispiele (2) x + 1 falls x ∈ N0 f (x ) = u j falls x = u j (für j = 1, 2) Zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · : 1. Die Kette wird konstant. I I also x 0 v x 1 v xF2 v · · · v x i = x i+1 = x i+2 = · · · = n 0. also jedenfalls i x i = n 0; zwei Unterfälle: I I Wenn n 0 = u j ist, dann ist wegen f (u j ) = u j ist auch F F F i ) = i f (x i ). i f (x i ) = u j , also ist f ( i xF Wenn n 0 ∈ N0 ist, dann ist f ( i x i ) = f (n 0 ) = n 0 + 1. Andererseits ist die Kette der Funktionswerte f (x 0 ) v f (x 1 ) v f (x 2 ) v · · · v f (x i ) = f (x i+1 ) = f (x i+2 ) = · · · = f (n 0 ) = n 0 + 1. Also ist F F f ( i x i ) = i f (x i ). Halbordnungen 48/61 Stetige Abbildungen: Beispiele (2) x + 1 falls x ∈ N0 f (x ) = u j falls x = u j (für j = 1, 2) Zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · : 1. Die Kette wird konstant. I I also x 0 v x 1 v xF2 v · · · v x i = x i+1 = x i+2 = · · · = n 0. also jedenfalls i x i = n 0; zwei Unterfälle: I I Wenn n 0 = u j ist, dann ist wegen f (u j ) = u j ist auch F F F i ) = i f (x i ). i f (x i ) = u j , also ist f ( i xF Wenn n 0 ∈ N0 ist, dann ist f ( i x i ) = f (n 0 ) = n 0 + 1. Andererseits ist die Kette der Funktionswerte f (x 0 ) v f (x 1 ) v f (x 2 ) v · · · v f (x i ) = f (x i+1 ) = f (x i+2 ) = · · · = f (n 0 ) = n 0 + 1. Also ist F F f ( i x i ) = i f (x i ). 2. Die Kette wird nicht konstant. I I I dann alle x i ∈ N0 und die Kette wächst unbeschränkt gleiches gilt für Kette der Funktionswerte. Also haben beide Ketten Supremum u 1 und wegen f (u 1 ) = u 1 ist F F f ( i x i ) = i f (x i ). Halbordnungen 48/61 Stetige Abbildungen: Beispiele (3) I N 0 = N0 ∪ {u 1 ,u 2 } mit v wie eben I Abbildung д : N 0 → N 0 mit x +1 д(x ) = u 2 u 2 falls x ∈ N0 falls x = u 1 falls x = u 2 ist nicht stetig Halbordnungen 49/61 Stetige Abbildungen: Beispiele (3) I N 0 = N0 ∪ {u 1 ,u 2 } mit v wie eben I Abbildung д : N 0 → N 0 mit x +1 д(x ) = u 2 u 2 falls x ∈ N0 falls x = u 1 falls x = u 2 ist nicht stetig I Unterschied zu f : д(u 1 ) = u 2 I unbeschränkt wachsende Kette x 0 v x 1 v x 2 v · · · natürlicher Zahlen hat Supremem u 1 F also д( i x i ) = u 2 , I I aber Kette der Funktionswerte д(x 0 ) v д(x 1 ) v д(x 2 ) v · · · hat F F Supremem i д(x i ) = u 1 , д( i x i ). Halbordnungen 49/61 Fixpunktsatz Satz I Es sei f : D → D eine monotone und stetige Abbildung auf einer vollständigen Halbordnung (D, v) mit kleinstem Element ⊥ . I Elemente x i ∈ D seien wie folgt definiert: x0 = ⊥ ∀i ∈ N0 : x i+1 = f (x i ) I Dann gilt: 1. Die x i bilden eine Kette: x 0 v x 1 v x 2 v · · · . F 2. Das Supremum x f = i x i dieser Kette ist Fixpunkt von f , also f (x f ) = x f . 3. x f ist der kleinste Fixpunkt von f : Wenn f (yf ) = yf ist, dann ist x f v yf . Anwendung: siehe Vorlesungen zu Semantik von Programmiersprachen Halbordnungen 50/61 Fixpunktsatz: Beweis 1. Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: I I x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 . Halbordnungen 51/61 Fixpunktsatz: Beweis 1. Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: I I x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 . 2. Behauptung: x f = I I I I F i x i ist Fixpunkt, also f (x f ) = x f Wegen Stetigkeit von f ist F F F f (x f ) = f ( i x i ) = i f (x i ) = i x i+1 . Folge der x i+1 unterscheidet sich von Folge der x i nur durch fehlendes erstes Element ⊥ . Also haben beide Folgen das gleiche Supremum x f (klar?) F F also i x i+1 = i x i = x f also ist f (x f ) = x f Halbordnungen 51/61 Fixpunktsatz: Beweis 1. Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: I I x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 . 2. Behauptung: x f = I I I I F i x i ist Fixpunkt, also f (x f ) = x f Wegen Stetigkeit von f ist F F F f (x f ) = f ( i x i ) = i f (x i ) = i x i+1 . Folge der x i+1 unterscheidet sich von Folge der x i nur durch fehlendes erstes Element ⊥ . Also haben beide Folgen das gleiche Supremum x f (klar?) F F also i x i+1 = i x i = x f also ist f (x f ) = x f 3. Behauptung: x f ist kleinster Fixpunkt. Sei f (yf ) = yf . I I I Induktion lehrt: ∀i ∈ N0 : x i v yf . also ist yf eine obere Schranke der Kette, F also ist gilt für die kleinste obere Schranke: x f = i x i v yf . Halbordnungen 51/61 Was ist wichtig Das sollten Sie mitnehmen: I Halbordnungen sind I I I reflexiv, antisymmetrisch und transitiv I vollständige Halbordnungen: jede aufsteigende Kette hat Supremum F F stetige Abbildungen: f ( x i ) = f (x i ) I Fixpunktsatz I Das sollten Sie üben: I Nachweis der Eigenschaften von (vollständigen) Halbordnungen I Beweise einfacher Aussagen I an ungewohnte Eigenschaften von Halbordnungen gewöhnen (Unendlichkeit lässt grüßen) (siehe auch gleich) Halbordnungen 52/61 Überblick Äquivalenzrelationen Kongruenzrelationen Halbordnungen Ordnungen Ordnungen 53/61 Totale Ordnungen: Definition I Relation R ⊆ M × M ist eine Ordnung oder genauer totale Ordnung, wenn I I R Halbordnung ist und gilt: ∀x,y ∈ M : xRy ∨ yRx Ordnungen 54/61 Totale Ordnungen: Definition I Relation R ⊆ M × M ist eine Ordnung oder genauer totale Ordnung, wenn I I R Halbordnung ist und gilt: ∀x,y ∈ M : xRy ∨ yRx I I Es gibt keine unvergleichbaren Elemente. Beispiele: I I I (N0 , ≤) (Z × Z, v) mit (x 1 ,x 2 ) v (y1 ,y2 ) ⇐⇒ x 1 < y1 ∨ (x 1 = y1 ∧ x 2 ≤ y2 ) ({a, b}∗ , v1 ) mit v1 „wie im Wörterbuch“ Ordnungen 54/61 Totale Ordnungen auf A∗ I Relation vp auf {a, b}∗ : w 1 vp w 2 ⇐⇒ ∃u ∈ A∗ : w 1u = w 2 ist keine totale Ordnung I I z. B. sind a und b unvergleichbar Wie kann man aus vp eine totale Ordnung machen? Ordnungen 55/61 Totale Ordnungen auf A∗ I Relation vp auf {a, b}∗ : w 1 vp w 2 ⇐⇒ ∃u ∈ A∗ : w 1u = w 2 ist keine totale Ordnung I z. B. sind a und b unvergleichbar I Wie kann man aus vp eine totale Ordnung machen? I jedenfalls totale Ordnung vA auf A nötig, z. B. a vA b I und dann? I mehrere Möglichkeiten . . . Ordnungen 55/61 Lexikographische Ordnung v1 (Wörterbuch) Suche längstes gemeinsames Präfix v w1 v ? w2 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) Suche längstes gemeinsames Präfix v w1 v ? w2 I ein gemeinsames Präfix gibt es immer: ε I stets |v | ≤ min(|w 1 |, |w 2 |) I es gibt ein längstes I das längste ist eindeutig bestimmt Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten I |v | = |w 1 | < |w 2 | I |v | = |w 1 | = |w 2 | = |v | I |w 1 | > |w 2 | = |v | Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten I |v | = |w 1 | < |w 2 | I |v | = |w 1 | = |w 2 | = |v | I |w 1 | > |w 2 | = |v | : definiere w 1 v1 w 2 w1 v w2 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten I |v | = |w 1 | < |w 2 | I |v | = |w 1 | = |w 2 | = |v |: I : definiere w 1 v1 w 2 definiere w 1 v1 w 2 und w 2 v1 w 1 |w 1 | > |w 2 | = |v | w1 v w2 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten I |v | = |w 1 | < |w 2 | I |v | = |w 1 | = |w 2 | = |v |: I |w 1 | > |w 2 | = |v |: : definiere w 1 v1 w 2 definiere w 1 v1 w 2 und w 2 v1 w 1 definiere w 2 v1 w 1 w1 v w2 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) w1 v w2 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) x M v , w1 w2 y M Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) x M v , w1 w2 y M I wenn x vA y dann w 1 v1 w 2 I wenn y vA x dann w 2 v1 w 1 Ordnungen 56/61 Lexikographische Ordnung v1 (Wörterbuch) I seien w 1 ,w 2 ∈ A∗ I sei v ∈ A∗ das maximal lange Präfix, so dass es u 1 ,u 2 ∈ A∗ gibt mit w 1 = v u 1 und w 2 = v u 2 . Fallunterscheidung: I 1. Falls v = w 1 ist, gilt w 1 v1 w 2 Falls v = w 2 ist, gilt w 2 v1 w 1 2. Falls w 1 , v , w 2 , gibt es x,y ∈ A und u 10,u 20 ∈ A∗ mit I I x , y und w 1 = v x u 10 und w 2 = v y u 20 Dann gilt w 1 v1 w 2 ⇐⇒ x vA y. I Beispiele 1. „Klaus“ kommt vor „Klausur“ 2. „Klausur“ kommt vor „Übung“ (im Duden, aber nicht im Studium!) Ordnungen 57/61 Lexikographische Ordnung v1 (2) I Wenn man nur endlich viele Wörter ordnen muss (Wörterbuch), dann „harmlos“; Beispiel: a v1 aa v1 aaa v1 aaaa v1 ab v1 aba v1 abbb v1 b v1 baaaaaa v1 baab v1 bbbbb Ordnungen 58/61 Lexikographische Ordnung v1 (2) I Wenn man nur endlich viele Wörter ordnen muss (Wörterbuch), dann „harmlos“; Beispiel: a v1 aa v1 aaa v1 aaaa v1 ab v1 aba v1 abbb v1 b v1 baaaaaa v1 baab v1 bbbbb I wenn man A∗ ordnet, nicht ganz so harmlos; unvollständig I I ε v1 a v1 aa v1 aaa v1 aaaa v1 · · · besitzt kein Supremum, denn I I I jedes Wort, das mindestens ein b enthält, ist obere Schranke, zu jeder oberen Schranke w ist a |w | b ist eine echt kleine obere Schranke (weil w ein b enthält) b w1 ab w1 aab w1 aaab w1 aaaab w1 · · · hat kein Infimum Ordnungen 58/61 Lexikographische Ordnung v2 I andere lexikographische Ordnung v2 auf A∗ : w 1 v2 w 2 gilt genau dann, wenn I I I entweder |w 1 | < |w 2 | oder |w 1 | = |w 2 | und w 1 v1 w 2 gilt. Diese Ordnung beginnt also z. B. im Fall A = {a, b} bei naheliegender Ordnung vA so: ε v2 a v2 b v2 aa v2 ab v2 ba v2 bb v2 aaa v2 · · · v2 bbb v2 aaaa v2 · · · v2 bbbb ··· Ordnungen 59/61 v1 und v2 sind totale Ordnungen I v1 auf Menge An aller Wörter fester Länge n ist totale Ordnung I I I I Halbordnung: nachprüfen . . . für verschiedene Wörter gleicher Länge niemals w 1 = v oder w 2 = v. da vA als total vorausgesetzt wird, ist bei w 1 = v x u 10 und w 2 = v y u 20 stets x vA y oder y vA x also stets w 1 v1 w 2 oder w 2 v1 w 1 . I also v2 auf A∗ totale Ordnung I v1 für verschieden lange Wörter: nachprüfen . . . Ordnungen 60/61 Was ist wichtig Das sollten Sie mitnehmen: I totale Ordnungen sind I I I Halbordnungen ohne unvergleichbare Elemente Anwendung an diversen Stellen in der Informatik (z. B. Semantik, Testmuster, . . . ) Das sollten Sie üben: I Nachweis der Eigenschaften von totalen Ordnungen I Beweise einfacher Aussagen I an ungewohnte Eigenschaften von Ordnungen gewöhnen (Unendlichkeit lässt grüßen) Ordnungen 61/61