Grundlagen der Mathematik für Informatiker 2 1 Mengen, Relationen, Funktionen 2.1 Mengen Definition 2.1 [Georg Cantor 1895] Eine Menge ist eine Zusammenfassung bestimmter, wohlunterschiedener Dinge unserer Anschauung oder unseres Denkens, welche Elemente der Menge genannt werden, zu einem Ganzen. Mengen werden definiert: extensional: durch Angabe aller Elemente (nur für endliche Mengen) Beispiele: {0, 1, 2, 3}, { a}, { a, b} intensional: durch Angabe einer die Elemente charakterisierenden Eigenschaft Beispiele: { x | x ist natürliche Zahl und x < 4}, y | E (y) Grundlagen der Mathematik für Informatiker 2 Beispiel 1 (Weitere Beispiele von Mengen) N = {0, 1, 2, . . .} Menge der natürlichen Zahlen Z = {. . . , −2, −1, 0, 1, 2, . . .} Menge der ganzen Zahlen ∅ = { x | x 6= x } = { } die leere Menge Elementbeziehung Element-Relation: x∈M x ist Element der Menge M, x ist Element von M x ist aus M Negation von x ∈ M: x∈ /M es ist nicht x ∈ M, x ist nicht aus M Grundlagen der Mathematik für Informatiker Mengengleichheit und -inklusion Gleichheit: A = B :⇔ ∀ x ( x ∈ A ↔ x ∈ B) x ist genau dann Element der Menge A, wenn x Element von B ist Inklusion: A ⊆ B :⇔ ∀ x ( x ∈ A → x ∈ B) wenn x Element der Menge A ist, so ist x auch aus B echte Inklusion: A ⊂ B, A ( B : ⇔ A ⊆ B ∧ ∃ x ( x ∈ B ∧ x 6 ∈ A ) A ⊆ B und es gibt ein x ∈ B, welches nicht aus A ist Satz 2.1 Es seien A, B, C Mengen. 1. Es gilt stets A ⊆ A. 2. Aus A ⊆ B und B ⊆ C folgt A ⊆ C. 3. Es gilt genau dann A = B, wenn sowohl A ⊆ B als auch B ⊆ A erfüllt sind. 3 Grundlagen der Mathematik für Informatiker Operationen für Mengen Vereinigung: A ∪ B = { x | x ∈ A ∨ x ∈ B} x ist genau dann Element der Menge A ∪ B, wenn x Element von A oder von B ist Durchschnitt: A ∩ B = { x | x ∈ A ∧ x ∈ B} x ist genau dann Element der Menge A ∩ B ist, wenn x aus A und aus B ist Eigenschaft 2.2 1. Es gelten A ∩ B ⊆ A ⊆ A ∪ B und A ∩ B ⊆ B ⊆ A ∪ B. 2. Aus A ⊆ C und B ⊆ D folgen A ∩ B ⊆ C ∩ D und A ∪ B ⊆ C ∪ D. 3. Aus A, B ⊆ C und A, B ⊆ D folgt A ∪ B ⊆ C ∩ D. 4 Grundlagen der Mathematik für Informatiker 5 Hilfssatz 2.3 Die folgenden Beziehungen sind paarweise äquivalent: A ∩ B = A, A ⊆ B und A ∪ B = B. Satz 2.4 (Eigenschaften der Operationen ∩ und ∪ ) Es seien A, B, C Mengen. Dann gelten die folgenden Gleichungen: A∩B = B∩A , A∪B = B∪A A ∩ ( B ∩ C ) = ( A ∩ B) ∩ C , A ∪ ( B ∪ C ) = ( A ∪ B) ∪ C A∩A = A , A∪A = A (Kommutativität) (Assoziativität) (Idempotenz) Lemma 2.5 (Verschmelzungsgesetze) Es seien A, B Mengen. Dann gelten die folgenden Gleichungen: A ∩ ( A ∪ B) = A und A ∪ ( A ∩ B) = A. Grundlagen der Mathematik für Informatiker 6 Satz 2.6 (Die Distributivgesetze) Es seien A, B, C Mengen. Dann gelten die folgenden Gleichungen: A ∪ (B ∩ C) = ( A ∪ B) ∩ ( A ∪ C ) und A ∩ (B ∪ C) = ( A ∩ B) ∪ ( A ∩ C ) Die Potenzmenge Definition 2.2 Es sei M eine Menge. Die Menge { A : A ⊆ M} aller Teilmengen von M heißt die Potenzmenge von M. Sie wird mit 2 M oder P( M) bezeichnet. 2 Beispiel 2 2 2 ∅ {∅} { a,b } = = = ∅ ∅, {∅} ∅, { a}, {b}, { a, b} Grundlagen der Mathematik für Informatiker 7 Das Komplement Definition 2.3 Es seien M eine Menge und A ∈ 2 M . Dann heißt A := { x | x ∈ M ∧ x ∈ / A} das Komplement von A (in M). Eigenschaft 2.7 A ist dasjenige Element X der Potenzmenge 2 M , für welches gleichzeitig die Bedingungen A ∩ X = ∅ und A ∪ X = M gelten. Satz 2.8 (D E M ORGANsche Regeln) Es seien A, B ∈ 2 M . Dann gelten A ∪ B = A ∩ B und A∩B = A∪B Grundlagen der Mathematik für Informatiker 8 Weitere Mengenoperationen Mengendifferenz symmetrische Differenz A\B := {x | x ∈ A ∧ x ∈ / B} A∆B := ( A \ B) ∪ ( B \ A) = ( A ∪ B) \ ( A ∩ B) := := Es seien Mi ⊆ M. unendliche Vereinigung [ Mi i ∈I unendlicher Durchschnitt \ i ∈I Mi x : x ∈ M ∧ ∃ i ( i ∈ I ∧ x ∈ Mi ) x : x ∈ M ∧ ∀ i ( i ∈ I → x ∈ Mi ) Grundlagen der Mathematik für Informatiker 9 2.2 Relationen Es seien X, Y Mengen. geordnetes Paar ( x, y) oder [ x, y] Kreuzprodukt A × B := {( x, y) | x ∈ A und y ∈ B} Eigenschaft 2.9 Es seien A, B, C, D Mengen. Dann folgt aus A ⊆ B und C ⊆ D auch A × C ⊆ B × D. Weiter gelten A×∅ = ∅×A = ∅ ( A ∩ B) × (C ∩ D ) = ( A × C ) ∩ ( B × D ) ( A ∪ B) × C = ( A × C ) ∪ ( B × C ) A × (B ∪ C) = ( A × B) ∪ ( A × C ) ( A \ B) × C = ( A × C ) \ ( B × C ) A × (B \ C) = ( A × B) \ ( A × C ) Grundlagen der Mathematik für Informatiker 10 Mehrfaches Kreuzprodukt Frage der Reihenfolge! Unser Standard (für n ≥ 3): A1 × A2 × · · · × An := A1 × A2 × ( A3 × (. . . × An )) speziell: A1 × A2 × A3 × A4 : = A1 × A2 × ( A3 × A4 ) Definition 2.4 Eine Teilmenge R von A1 × A2 × · · · × An heißt (n-stellige) Relation über A1 , . . . , An . Gilt A1 = . . . = An = A, so sprechen wir auch von einer n-stelligen Relation über A. Grundlagen der Mathematik für Informatiker 11 Beispiel 3 (Datumsrelation) A1 = Tag := {1, . . . , 31} A2 = Monat := {1, . . . , 12} A3 = Jahr := {1900, . . . , 2100} Datum ⊆ Tag × Monat × Jahr Beispiele: (29, 2, 2000) ∈ Datum , (29, 2, 1900) ∈ / Datum (31, 7, 2007) ∈ Datum , (31, 6, 2007) ∈ / Datum Beispiel 4 (die natürliche Ordnung der ganzen Zahlen ≤ ) ≤ ⊆ Z×Z Grundlagen der Mathematik für Informatiker Eigenschaften zweistelliger Relationen Definition 2.5 Es seien M eine Menge und R eine zweistellige Relation über M. Wir nennen die Relation R reflexiv, falls für alle x ∈ M stets ( x, x ) ∈ R gilt, symmetrisch, falls aus ( x, y) ∈ R stets (y, x ) ∈ R folgt, transitiv, falls aus ( x, y) ∈ R und (y, z) ∈ R stets ( x, z) ∈ R folgt, antisymmetrisch, falls aus ( x, y) ∈ R und (y, x ) ∈ R stets x = y folgt. 12 Grundlagen der Mathematik für Informatiker Äquivalenzrelationen Definition 2.6 Es seien M eine Menge und ≈ eine zweistellige Relation über M. Wir nennen ≈ eine Äquivalenzrelation über M, falls ≈ reflexiv, transitiv und symmetrisch ist. Beispiel 5 Es sei M die Menge der Schüler einer Schule. Für a, b ∈ M definieren wir a ≈ b gdw. a, b sind Schüler derselben Klasse. Definition 2.7 Es sei M 6= ∅ eine Menge. Eine Teilmenge Z der Potenzmenge 2 M heißt Zerlegung (Klasseneinteilung) von M, falls 1. S A∈Z A=M 2. A 6= ∅ für alle A ∈ Z und 3. A ∩ B = ∅ für alle A, B ∈ Z , A 6= B gelten. 13 Grundlagen der Mathematik für Informatiker Definition 2.8 Es seien ≈ eine Äquivalenzrelation über M und a ∈ M. Wir nennen [ a]≈ := {b | b ∈ M und a ≈ b} die von a erzeugte Äquivalenzklasse. Satz 2.10 Für jede Äquivalenzrelation ≈ über M ist die Menge aller Äquivalenzklassen Z≈ := {[ a]≈ : a ∈ M} eine Zerlegung von M. Umgekehrt definiert für jede Zerlegung Z von M die Beziehung a ≈ b gdw. es gibt ein A ∈ Z mit a, b ∈ A eine Äquivalenzrelation über M. 14 Grundlagen der Mathematik für Informatiker Halbordnungsrelationen Definition 2.9 Es seien M eine Menge und eine zweistellige Relation über M. Wir nennen eine Halbordnungsrelation über M, falls reflexiv, transitiv und antisymmetrisch ist. Beispiel 6 1. Ist M eine Menge, so ist die Relation ⊆ eine Halbordnungsrelation über M = 2 M . 2. ≤ ist eine Halbordnungsrelation über Z. 3. Die Teilbarkeitsrelation | ist eine Halbordnungsrelation über N. Lemma 2.11 Ist eine Halbordnungsrelation über M und ist T ⊆ M, so ist die Einschränkung T := ∩(T × T ) von auf T eine Halbordnungsrelation über T . 15 Grundlagen der Mathematik für Informatiker Definition 2.10 Es sei M eine durch halbgeordnete Menge, und es sei T Teilmenge von M. Wir nennen a ∈ M minimales Element von T , falls a ∈ T und b 6≺ a für alle b ∈ T gilt. Minimum von T , falls a ∈ T und a b für alle b ∈ T gilt. untere Schranke von T , falls a b für alle b ∈ T gilt. Infimum von T , falls a das Maximum der Menge {b | b ∈ M und b ist untere Schranke von T } ist. Supremum von T , falls a das Minimum der Menge {b | b ∈ M und b ist obere Schranke von T } ist. Folgerung 2.12 1. Jedes Minimum von T ist sowohl minimales Element, untere Schranke als auch Infimum von T . 2. Ist eine untere Schranke von T Element von T , so ist sie Minimum von T . 16 Grundlagen der Mathematik für Informatiker 17 Spezielle Operationen für zweistellige Relationen Definition 2.11 Es seien R ⊆ A × B, S ⊆ B × C zweistellige Relationen. Verbindung R ◦ S := ( a, c) | es gibt ein b ∈ B mit ( a, b) ∈ R und (b, c) ∈ S − 1 Umkehrrelation R := (b, a) | ( a, b) ∈ R Folgerung 2.13 R1 ◦ ( R2 ◦ R3 ) = ( R1 ◦ R2 ) ◦ R3 Folgerung 2.14 Eine zweistellige Relation R ⊆ A × A ist genau dann symmetrisch, wenn R = R−1 , und R ist genau dann transitiv, wenn R ◦ R ⊆ R. Grundlagen der Mathematik für Informatiker 18 Folgerung 2.15 Es seien R, R1 , R2 , R3 zweistellige Relationen über einer Menge M. Dann gelten die folgenden Beziehungen. R1 ◦ R3 ⊆ R2 ◦ R3 und R1−1 ⊆ R2−1 . Aus R1 ⊆ R2 folgen Aus R2 ⊆ R3 folgt R1 ◦ R2 ⊆ R1 ◦ R3 . Aus R ⊆ R −1 folgt R = R −1 . R1 ◦ ( R2 ∪ R3 ) = ( R1 ◦ R2 ) ∪ ( R1 ◦ R3 ) ( R1 ∪ R2 ) ◦ R3 = ( R1 ◦ R3 ) ∪ ( R2 ◦ R3 ) ( R1 ∪ R2 ) −1 = R1−1 ∪ R2−1 und ( R1 ∩ R2 )−1 = R1−1 ∩ R2−1 ( R1 ◦ R2 ) −1 = R2−1 ◦ R1−1 Grundlagen der Mathematik für Informatiker 19 Definition 2.12 Es seien M eine Menge und R ⊆ M × M eine zweistellige Relation über M. Wir nennen R∗ die reflexive und transitive Hülle von R, falls R∗ die kleinste reflexive und transitive Relation ist, die R umfasst. Wir nennen R+ die transitive Hülle von R, falls R+ die kleinste transitive Relation ist, die R umfasst. Ferner seien I M := ( a, a) | a ∈ M , R0 := I M und Rn := R ◦ Rn−1 für n ≥ 1. Lemma 2.16 Es sei eine Relation R ⊆ M × M gegeben. Für alle n ≥ 0 gilt (m, m′ ) ∈ Rn genau dann, wenn es eine Folge c0 , c1 , ..., cn von Elementen aus M mit c0 = m, cn = m′ und (ci , ci+1 ) ∈ R für i = 0, ..., n − 1 gibt. Satz 2.17 Es sei R ⊆ M × M eine Relation auf einer Menge M. S S Dann gilt R+ = i∞=1 Ri und R∗ = i∞=0 Ri . Grundlagen der Mathematik für Informatiker 2.3 Funktionen Leonhard Euler (1755): Eine Funktion benennt eine Abhängigkeit, die „alle Arten, wie eine Größe durch eine andere bestimmt werden kann, unter sich begreift“. Definition 2.13 [Funktion] Eine Relation R ⊆ A × B heißt eindeutig, falls aus ( a, b1 ), ( a, b2 ) ∈ R stets b1 = b2 folgt. Eine Relation f ⊆ A × B heißt (partielle) Funktion bzw. Funktion aus A in B, falls f eindeutige Relation ist. 20 Grundlagen der Mathematik für Informatiker 21 Definition 2.14 Es sei f ⊆ A × B eindeutige Relation. Wir nennen f eine Funktion von A in B, falls der Definitionsbereich dom( f ) = { a | a ∈ A ∧ ∃b(b ∈ B ∧ f ( a) = b)} mit A übereinstimmt. Wir nennen f eine Funktion aus A auf B, falls der Wertebereich ran( f ) = {b | b ∈ B ∧ ∃ a( a ∈ A ∧ f ( a) = b)} mit B übereinstimmt. Wir nennen f eine Funktion von A auf B, falls dom( f ) = A und ran( f ) = B gelten. Notation: f ( a) = b f :⊆ A → B f : A −→ B für ( a, b) ∈ f , für f ist (partielle) Funktion aus A in B und für f ist (vollständig definierte) Funktion von A in B Grundlagen der Mathematik für Informatiker 22 Definition 2.15 Eine Relation R ⊆ A × B heißt eindeutig umkehrbar, falls R−1 eine Funktion ist. Folgerung 2.18 Eine Relation R ⊆ A × B ist genau dann eindeutig umkehrbar, wenn aus ( a1 , b), ( a2 , b) ∈ R stets a1 = a2 folgt. Definition 2.16 Wir nennen eine (partielle) Funktion f ⊆ A × B eineindeutig, falls f eindeutige und eindeutig umkehrbare Relation ist. Notation: Bild einer Menge M ⊆ A: f ( M) = { f ( a) | a ∈ M} Urbild einer Menge M′ ⊆ B: f −1 ( M ′ ) = { a | f ( a ) ∈ M ′ } Grundlagen der Mathematik für Informatiker Andere Bezeichnungen: Eine Funktion f :⊆ A −→ B heißt injektiv, falls |{ x : f ( x ) = y}| ≤ 1 für alle y ∈ B gilt, d.h. f ist eineindeutig, surjektiv, falls |{ x : f ( x ) = y}| ≥ 1 für alle y ∈ B gilt, d.h. f ist Abbildung auf B, und bijektiv, falls |{ x : f ( x ) = y}| = 1 für alle y ∈ B gilt, d.h. f ist injektiv und surjektiv. Bemerkung: Die Bezeichnungen injektiv, surjektiv und bijektiv werden meist für vollständig definierte Funktionen benutzt. 23 Grundlagen der Mathematik für Informatiker Hintereinanderausführung von Funktionen Folgerung 2.19 Es seien f : ⊆ A → B und g : ⊆ B → C Funktionen. 1. Dann ist die Relation f ◦ g eine Funktion aus A in C, und es gilt f ◦ g( a) = g( f ( a)) für a ∈ dom( f ) ∩ f −1 (dom( g)). 2. Sind darüberhinaus f und g eineindeutige Funktionen, so ist auch f ◦ g eineindeutig. 3. Gelten f : A → B und f ( A) ⊆ dom( g), so ist auch f ◦ g : A → C. Bezeichnung: Die Menge aller Funktionen von A in B wird mit B A bezeichnet : B A := { f | f : A → B} 24 Grundlagen der Mathematik für Informatiker 25 n-stellige Funktionen f : ⊆ An → B n-faches Kreuzprodukt äqivalente Darstellungen An = |A × ·{z · · × A} oder n-mal An = { g | g : {1, . . . , n} → A} Folgerung 2.20 (Spezialfall) A0 = A ∅ = { ∅ }