Grundlagen der Mathematik für Informatiker Organisatorisches Vorlesungszeitraum: 5.10.2009 - 5.2.2010 Prüfung (Klausur): März 2010 Inhalt • Aussagenlogik • Mengen, Relationen, Funktionen • Algebraische Strukturen • Graphen • Prädikatenlogik 1 Grundlagen der Mathematik für Informatiker Literatur • Haggarty: Diskrete Mathematik für Informatiker, Pearson Studies, 2004 • Steger: Diskrete Strukturen (Bd.1: Kombinatorik, Graphentheorie, Algebra), Springer, Berlin 2001 • Struckmann, Wätjen: Mathematik für Informatiker, Spektrum, 2006 • Hachenberger: Mathematik für Informatiker, Pearson, 2008 • Schöning: Logik für Informatiker, Spektrum, 1995 • Heinemann, Weihrauch: Logik für Informatiker, Teubner, Stuttgart 1992 • Kastens, Kleine Büning: Modellierung, Hanser, 2008 • Nehrlich: Diskrete Mathematik, Fachbuchverlag • Siefkes: Formalisieren und Beweisen: Logik für Informatiker, 2 Grundlagen der Mathematik für Informatiker Anmeldungen • Anmeldung zu den Lehrveranstaltungen im studip http://studip.uni-halle.de • Modul-Anmeldung über CSS http://www.informatik.uni-halle.de/studenteninfos/pruefungsamt/pruefungsanmeldung/ • Anmeldung zum Autotool https://autotool.imn.htwk-leipzig.de/cgi-bin/Super.cgi Informationen http://www.informatik.uni-halle.de/∼winter/THEOaktuell.html http://studip.uni-halle.de 3 Grundlagen der Mathematik für Informatiker Zulassungsvoraussetzungen zur Prüfung (Klausur): • 60 % der Punkte aus den Übungsaufgaben • 60 % Autotool-Aufgaben • 5 Kurzvorträge Hinweise zu den Übungsaufgaben: • Abgabe jeweils vor Beginn der Vorlesung • Zusammenarbeit in Gruppen bis max. 3 Studentinnen bzw. Studenten • Abgabe der Lösungen gedruckt oder handschriftlich (nicht mit Bleistift und nicht mit Rotstift) • mehrere Blätter bitte zusammenklammern (tackern) 4 Grundlagen der Mathematik für Informatiker 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: • Es regnet. • Die Straße ist naß. • 15 ist eine Primzahl. • 3<8 • x < 15 (hängt von x ab, keine Aussage) • Ist x < 15? (keine Aussage) • Es sei x < 15. (keine Aussage) • Morgen wird es regnen. 5 Grundlagen der Mathematik für Informatiker Wahrheitswerte 1 (wahr) oder 0 (falsch) Jeder Aussage p kann ein Wahrheitswert W ( p) ∈ {0, 1} zugeordnet werden. Beispiele: • W (Es regnet.) =? (je nach Lage der Dinge) • W (Die Straße ist naß.) =? • W (15 ist eine Primzahl.) = 0 • W (3 < 8) = 1 • W (Morgen wird es regnen.) =? 6 Grundlagen der Mathematik für Informatiker 1.2 Junktoren Junktor (mit zugeordneter Stelligkeit): Symbol zur Verknüpfung von Aussagen Bedeutung (Semantik) eines n-stelligen Junktors ∗ : [∗] : {0, 1}n → {0, 1} (n-stellige Funktion auf der Menge {0, 1}) 0-stellige Junktoren: Wahrheitswertkonstanten t mit [t] = 1 f mit [f] = 0 7 Grundlagen der Mathematik für Informatiker 8 1-stellige Junktoren: Negation ¬ ¬(3 < 8) • W (3 < 8) = 1 • W (¬(3 < 8)) = 0 ¬ p ist genau dann wahr, wenn p falsch ist. W ( p) W (¬ p) 0 1 1 0 W (¬ p) = 1 − W ( p) Grundlagen der Mathematik für Informatiker 2-stellige Junktoren: Konjunktion ∧ Es regnet und 15 ist eine Primzahl. • W (15 ist eine Primzahl.) = 0 • W (Es regnet.) =? • W (Es regnet und 15 ist eine Primzahl.) = 0 p ∧ q ist genau dann wahr, wenn beide Aussagen p und q wahr sind. W ( p ∧ q) = min(W ( p), W (q)) 9 Grundlagen der Mathematik für Informatiker 10 W ( p) W (q) W ( p ∧ q) 0 0 0 0 1 0 1 0 0 1 1 1 [∧] = min ist kommutativ und assoziativ: W ( p ∧ q) = W (q ∧ p) W (( p ∧ q) ∧ r ) = W ( p ∧ (q ∧ r )) n ^ i =1 p i = p1 ∧ p2 ∧ · · · ∧ p n Grundlagen der Mathematik für Informatiker Disjunktion ∨ (inklusiv) Es regnet oder 3 < 8. • W (3 < 8)= 1 • W (Es regnet.)=? • W (Es regnet oder 3 < 8.)= 1 p ∨ q ist genau dann wahr, wenn wenigstens eine der Aussagen p und q wahr ist. W ( p ∨ q) = max(W ( p), W (q)) 11 Grundlagen der Mathematik für Informatiker 12 W ( p) W (q) W ( p ∨ q) 0 0 0 0 1 1 1 0 1 1 1 1 [∨] = max ist kommutativ und assoziativ: W ( p ∨ q) = W (q ∨ p) W (( p ∨ q) ∨ r ) = W ( p ∨ (q ∨ r )) n _ i =1 p i = p1 ∨ p2 ∨ · · · ∨ p n Grundlagen der Mathematik für Informatiker 13 Implikation → Wenn es regnet, dann ist die Straße naß. • W (Es regnet.) =? • W (Die Straße ist naß.) =? • W (Wenn es regnet, dann ist die Straße naß.) = 1 p → q ist genau dann wahr, wenn die Aussage p falsch oder die Aussage q wahr ist. W ( p) W (q) W ( p → q) 0 0 1 0 1 1 1 0 0 1 1 1 Grundlagen der Mathematik für Informatiker 1 falls W ( p) ≤ W (q) W ( p → q) = 0 sonst 14 Grundlagen der Mathematik für Informatiker 15 Äquivalenz ↔ 3 < 8 gilt genau dann, wenn 0 < 8 − 3 gilt. • W (3 < 8) = 1 • W (0 < 8 − 3) = 1 • W (3 < 8 gilt genau dann, wenn 0 < 8 − 3 gilt.) = 1 p ↔ q ist genau dann wahr, wenn entweder beide Aussagen p und q gelten oder beide nicht gelten. W ( p) W (q) W ( p ↔ q) 0 0 1 0 1 0 1 0 0 1 1 1 Grundlagen der Mathematik für Informatiker 1 falls W ( p) = W (q) W ( p ↔ q) = 0 sonst 16 Grundlagen der Mathematik für Informatiker 1.3 Formeln (Syntax) Junktoren , z.B. ∧, ∨, ¬, →, ↔, t, f Aussagenvariablen (Atome), z.B. p, q, r, s, . . . Definition 1.1 (induktiv) Die Menge AL( P) aller (aussagenlogischen) Formeln mit Aussagenvariablen aus der Menge P ist definiert durch: 1. Alle Aussagenvariablen p ∈ P sind Formeln. ( P ⊆ AL( P)) 2. t und f sind Formeln. 3. Sind ∗ ein einstelliger Junktor und ϕ eine Formel, dann ist auch ∗ ϕ eine Formel. 4. Sind ∗ ein zweistelliger Junktor und ϕ und ψ Formeln, dann ist auch ϕ ∗ ψ eine Formel. 17 Grundlagen der Mathematik für Informatiker 18 Beispiele t ∧ (¬t) ¬¬¬ p ∧( p ∨ q) ¬( p → q) (( p ∧ ¬q) → (¬r ∨ ( p ↔ q))) Formel ohne Aussagenvariablen Formel mit Aussagenvariable p syntaktisch unkorrekt Formel mit Aussagenvariablen p, q Formel mit Aussagenvariablen p, q, r Grundlagen der Mathematik für Informatiker Teilformeln Definition 1.2 (rekursiv) Eine Formel ψ heißt Teilformel der Formel ϕ, falls • ψ = ϕ oder • ϕ = ¬ ϕ1 und ψ eine Teilformel von ϕ1 ist oder • ϕ = ϕ1 ∗ ϕ2 mit ∗ ∈ {∧, ∨, →, ↔} und ψ eine Teilformel von ϕ1 oder ϕ2 ist. Beispiele: • ϕ = ¬ p ∧ (t ∨ p) Teilformeln: ¬ p ∧ (t ∨ p), ¬ p, p, t ∨ p, t • ϕ = p Atom hat genau eine Teilformel: p 19 Grundlagen der Mathematik für Informatiker Aussagenlogische Interpretationen (Belegungen der Aussagenvariablen mit Wahrheitswerten) Interpretation (für ϕ ∈ AL( P)) Zuordnung W : P → {0, 1}. Menge aller Interpretationen für Formeln ϕ ∈ AL( P) W ( P) = {W : P → {0, 1}} = 2P Wahrheitswerte für Formeln Erweiterung der Interpretation W : P → {0, 1} zu einer Funktion W : AL( P) → {0, 1} Der Wert W ( ϕ) der Formel ϕ in der Interpretation W wird induktiv mit den Wahrheitswertfunktionen der Junktoren aus den Werten der Teilformeln von ϕ bestimmt: 20 Grundlagen der Mathematik für Informatiker 21 • für ϕ = p ∈ P: W ( ϕ) = W ( p) • W (¬ψ) = [¬]W (ψ) = 1 − W (ψ) • W (ψ1 ∧ ψ2 ) = W (ψ1 )[∧]W (ψ2 ) = min W (ψ1 ), W (ψ2 ) • W (ψ1 ∨ ψ2 ) = W (ψ1 )[∨]W (ψ2 ) = max W (ψ1 ), W (ψ2 ) • ... Beispiel: ϕ = (( p ∧ ¬q) → (¬r ∨ ( p ↔ q))) für W ( p) = 0, W (q) = 1, W (r ) = 0 ist W ( ϕ) = 1 Grundlagen der Mathematik für Informatiker 22 Wahrheitswerttabellen Untersuchung der Werte einer Formel ϕ ∈ AL( P) in allen möglichen Interpretationen W ∈ W ( P) Zeilen – Interpretationen Spalten – Teilformeln W ( p1 ) 0 · · · W ( pn ) W (ψ) für Teilformeln ψ von ϕ W ( ϕ) ··· 0 .. . 1 ··· ··· .. . 1 ··· Wertetabelle einer n-stelligen Booleschen Funktion f ϕ : {0, 1}n → {0, 1} Beispiel: ϕ = ϕ( a, b, c) = ( a → ((¬b → c) ∧ a)) f ϕ (0, 0, 0) = 1, f ϕ (1, 0, 0) = 0, ... Grundlagen der Mathematik für Informatiker 23 Modelle Definition 1.3 Jede aussagenlogische Interpretation W mit W ( ϕ) = 1 heißt Modell (oder erfüllende Belegung der Aussagenvariablen) für ϕ. Menge aller Modelle von ϕ ∈ AL( P): Mod ( ϕ) = {W : P → {0, 1} | W ( ϕ) = 1} Für alle Formeln ϕ, ψ ∈ AL( P) gilt Mod (¬ ϕ) = W ( P) \ Mod ( ϕ) (1) Mod ( ϕ ∨ ψ) = Mod( ϕ) ∪ Mod (ψ) (2) Mod ( ϕ ∧ ψ) = Mod( ϕ) ∩ Mod (ψ) (3) Grundlagen der Mathematik für Informatiker Erfüllbarkeit und Allgemeingültigkeit Definition 1.4 Eine Formel ϕ ∈ AL( P) heißt erfüllbar , wenn sie ein Modell hat (Mod ( ϕ) 6= ∅) Beispiel: ¬ p → p unerfüllbar (Kontradiktion), wenn sie kein Modell hat (Mod ( ϕ) = ∅, für jede Interpretation W gilt W ( ϕ) = 0), Beispiel: p ∧ ¬ p allgemeingltig (Tautologie), wenn jede Belegung ein Modell für ϕ ∈ AL( P) ist (Mod ( ϕ) = W ( P), für jede Interpretation W gilt W ( ϕ) = 1). Beispiel: p ∨ ¬ p 24 Grundlagen der Mathematik für Informatiker 25 Modelle von Formelmengen Definition 1.5 Menge aller Modelle einer Menge Φ ⊆ AL( P) von Formeln: Mod (Φ) = \ Mod ( ϕ) ϕ∈Φ (Eine Interpretation W : P → {0, 1} ist ein Modell für eine Menge Φ ⊆ AL( P) von Formeln, wenn W Modell für jede Formel ϕ ∈ Φ ist.) Jede Interpretation ist ein Modell für die Formelmenge ∅. Beispiel: Mod({ p, p → q}) = {W } mit W ( p) = W (q) = 1. Lemma 1.1 Für alle Formelmengen Φ, Ψ ⊆ AL( P) gilt: Aus Φ ⊆ Ψ folgt Mod(Φ) ⊇ Mod(Ψ). Zusammenhang allgemeingültig – unerfüllbar Satz 1.2 Eine Formel ϕ ∈ AL( P) ist genau dann allgemeingültig, wenn die Formel ¬ ϕ unerfüllbar ist. Grundlagen der Mathematik für Informatiker 1.4 Semantische Äquivalenz Definition 1.6 Zwei Formeln ϕ und ψ mit Mod( ϕ) = Mod(ψ) heißen semantisch äquivalent (Schreibweise: ϕ ≡ ψ). Nachweis z.B. durch Wahrheitswerttabellen Beispiele: • ϕ→ψ ≡ ¬ϕ ∨ ψ • ϕ∨ψ ≡ ¬ϕ → ψ • ϕ∧ψ ≡ ¬( ϕ → ¬ψ) • ϕ↔ψ ≡ ( ϕ → ψ) ∧ (ψ → ϕ) Äquivalente Formeln haben dieselbe Wahrheitswertfunktion (Semantik). (Das Symbol ≡ ist kein Junktor (Syntax), sondern ein Symbol für eine Relation zwischen Formeln (Semantik)). 26 Grundlagen der Mathematik für Informatiker 27 Wichtige Äquivalenzen • ϕ ∨ ϕ ≡ ϕ, ϕ ∧ ϕ ≡ ϕ (Idempotenz) • ϕ ∨ ψ ≡ ψ ∨ ϕ, ϕ ∧ ψ ≡ ψ ∧ ϕ (Kommutativität) • ϕ ∨ (ψ ∨ η ) ≡ ( ϕ ∨ ψ) ∨ η ϕ ∧ (ψ ∧ η ) ≡ ( ϕ ∧ ψ) ∧ η (Assoziativität) • ϕ ∧ (ψ ∨ η ) ≡ ( ϕ ∧ ψ) ∨ ( ϕ ∧ η ) ϕ ∨ (ψ ∧ η ) ≡ ( ϕ ∨ ψ) ∧ ( ϕ ∨ η ) (Distributivität) • ¬¬ ϕ ≡ ϕ (Doppelnegation) • ¬( ϕ ∨ ψ) ≡ ¬ ϕ ∧ ¬ψ, ¬( ϕ ∧ ψ) ≡ ¬ ϕ ∨ ¬ψ (DeMorgansche Regeln) • ϕ ∨ ψ ≡ ¬(¬ ϕ ∧ ¬ψ), (Dualität von ∧ und ∨) ϕ ∧ ψ ≡ ¬(¬ ϕ ∨ ¬ψ) • ϕ → ψ ≡ ¬ψ → ¬ ϕ (Kontraposition) Grundlagen der Mathematik für Informatiker Beweismethoden • Direkter Beweis (Modus Ponens): ( ϕ ∧ ( ϕ → ψ) → ψ) ist eine Tautologie. Ist ϕ wahr und zeigt man, dass ϕ → ψ wahr ist, so ist auch ψ wahr. • Kontraposition: (¬ψ → ¬ ϕ) ↔ ( ϕ → ψ) ist eine Tautologie. Kann man ausgehend von ¬ψ auf ¬ ϕ schließen, so ist damit gezeigt, dass ψ aus ϕ folgt. • Widerspruchsbeweis: (( ϕ ∧ ¬ψ) → f) ↔ ( ϕ → ψ) ist eine Tautologie. Unter der Voraussetzung ϕ nehmen wir an, ψ gelte nicht und führen dies zu einer falschen Aussage (also zu einem Widerspruch). 28 Grundlagen der Mathematik für Informatiker Umformen von Formeln Satz 1.3 (Ersetzbarkeitstheorem) Für drei Formeln ϕ, ψ, η ∈ AL( P), wobei ψ ≡ η und ψ eine Teilformel von ϕ ist, gilt: ϕ ≡ ϕ′ , wobei ϕ′ entsteht, wenn in ϕ ein Vorkommen von ψ durch η ersetzt wird. Beweis: Induktion über die Struktur von ϕ Formeln können also durch Ersetzung äquivalenter Teilformeln in semantisch äquivalente Formeln umgeformt werden. (Änderung der Syntax bei unveränderter Semantik) 29 Grundlagen der Mathematik für Informatiker Eingeschränkte Junktorenmengen Lemma 1.4 Jede aussagenlogische Formel läßt sich in eine äquivalente Formel umformen, die nur Junktoren aus den folgenden Mengen enthalten: 1. {¬, ∨, ∧} 2. {¬, ∨} 3. {¬, ∧} 4. {¬, →} 5. {f, →} {∨, ∧} und {∨, ∧, →} genügen nicht. 30 Grundlagen der Mathematik für Informatiker 31 1.5 Normalformen Literal Atom oder negiertes Atom Definition 1.7 NNF Formeln, in denen das Negationssymbol ¬ höchstens auf Atome angewendet wird, heißen in Negations-Normalform. CNF Formeln der Form Vn i =1 Wm j j=1 li,j mit Literalen li,j heißen in konjunktiver Normalform. DNF Formeln der Form Wn i =1 Vm j j=1 li,j mit Literalen li,j heißen in disjunktiver Normalform. Grundlagen der Mathematik für Informatiker Satz über Normalformen Satz 1.5 Zu jeder Formel ϕ ∈ AL( P) existieren • eine äquivalente Formel ϕ1 ∈ AL( P) in NNF, • eine äquivalente Formel ϕ2 ∈ AL( P) in CNF und • eine äquivalente Formel ϕ3 ∈ AL( P) in DNF. Beweisidee: →, ↔, t, f durch Formeln mit {∨, ∧, ¬} ersetzen 1. NNF durch (mehrmalige) Anwendung der deMorganschen Regeln 2. CNF und DNF durch (mehrmalige) Anwendung der Distributivgesetze auf die NNF CNF und DNF einer Formel ϕ lassen sich auch aus der Wahrheitswerttabelle der Formel ϕ ablesen. 32 Grundlagen der Mathematik für Informatiker 1.6 Semantisches Folgern Definition 1.8 Eine Formel ψ ∈ AL( P) heißt Folgerung aus der Menge Φ ⊆ AL( P) von Formeln (Φ |= ψ), falls Mod (Φ) ⊆ Mod(ψ) gilt. Beispiele: • { p, p → q} |= q • { p, ¬(q ∧ p)} |= ¬q • { p} |= q → p • ∅ |= p ∨ ¬ p Spezialfälle der Notation: für Φ = { ϕ}: ϕ |= ψ (statt { ϕ} |= ψ) für Φ = ∅ : |= ψ (statt ∅ |= ψ) 33 Grundlagen der Mathematik für Informatiker 34 Sätze über das Folgern Satz 1.6 Für endliche Formelmengen Φ = { ϕ1 , . . . , ϕn } gilt Φ |= ψ genau dann, wenn n ^ ϕi |= ψ i =1 Satz 1.7 |= ϕ gilt genau dann, wenn ϕ allgemeingültig ist. Satz 1.8 Zwei Formeln ϕ und ψ sind genau dann äquivalent, wenn ϕ |= ψ und ψ |= ϕ gelten. Grundlagen der Mathematik für Informatiker Zusammenhänge Junktoren – semantische Beziehungen Satz 1.9 ϕ |= ψ gilt genau dann, wenn die Formel ϕ → ψ allgemeingültig ist. Folgerung 1.10 ϕ ≡ ψ gilt genau dann, wenn die Formel ϕ ↔ ψ allgemeingültig ist. 1.7 Syntaktisches Ableiten Folgerungsrelation |= ⊆ 2AL( P) × AL( P) Φ |= ψ gilt genau dann, wenn Mod (Φ) ⊆ Mod (ψ) Definition über die Semantik von Φ und ψ 35 Grundlagen der Mathematik für Informatiker Ableiten: Syntaktische Umformungen der Formeln nach bestimmten Regeln (Kalkül) ohne direkte Benutzung der Semantik der Formeln Ableitungsrelation ⊢ ⊆ 2AL( P) × AL( P) Φ ⊢ ψ gilt genau dann, falls ψ aus Φ ableitbar (nach bestimmten Regeln syntaktisch umformbar) ist. (ohne direkten Zugriff auf die Semantik der Formeln) Ziel: Ableitungsrelation ⊢ mit Φ ⊢ ψ gilt genau dann, wenn Φ |= ψ 36 Grundlagen der Mathematik für Informatiker 1.8 Kalküle Regeln zur formalen Beschreibung zulässiger syntaktischer Umformungsschritte Definition 1.9 Ein Kalkül besteht aus einer Menge von Axiomen (Formeln) und einer Menge von Regeln, mit deren Hilfe aus den Axiomen und einer Eingabemenge weitere Formeln gebildet werden können. Wir geben einen Kalkül K für die Aussagenlogik an. Mit K können alle Folgerungen aus einer Formelmenge gewonnen werden. 37 Grundlagen der Mathematik für Informatiker Definition 1.10 Kalkül K besteht aus der Axiomenmenge AX : 1. ϕ → (ψ → ϕ) 2. ( ϕ → (ψ → χ)) → (( ϕ → ψ) → ( ϕ → χ)) 3. (¬ ϕ → ¬ψ) → (ψ → ϕ) 4. ϕ ∧ ψ → ϕ, ϕ∧ψ → ψ 5. (χ → ϕ) → ((χ → ψ) → (χ → ϕ ∧ ψ)) 6. ϕ → ϕ ∨ ψ, ψ → ϕ∨ψ 7. ( ϕ → χ) → ((ψ → χ) → ( ϕ ∨ ψ → χ)) und der Regel R: • { ϕ, ϕ → ψ} ⊢K ψ (Modus Ponens) Axiome 1. - 7. sind allgemeingültig. 38 Grundlagen der Mathematik für Informatiker Definition 1.11 Eine Formel ψ ist im Kalkül K aus einer Formelmenge Φ herleitbar (Φ ⊢K ψ), wenn eine der folgenden Bedingungen erfüllt ist: • ψ ist ein Axiom • ψ ist eine Formel aus Φ • ψ kann in endlich vielen Schritten aus Axiomen oder Formeln aus Φ hergeleitet werden. Ein Schritt beinhaltet die Anwendung der Regel aus R auf bereits hergeleitete Formeln. In K aus Φ ableitbare Formeln ψ heißen in K aus Φ beweisbar. (Φ ⊢K ψ) In K aus ∅ ableitbare Formeln heißen in K beweisbar. (⊢K ψ) 39 Grundlagen der Mathematik für Informatiker Satz 1.11 Korrektheit und Vollständigkeit von K Es seien Φ eine Formelmenge und ψ eine Formel. Dann gilt Φ ⊢K ψ genau dann, wenn Φ |= ψ. Bemerkung: K ist korrekt, d.h. jede aus einer Formelmenge Φ herleitbare Formel ψ ist eine Folgerung aus Φ. K ist vollständig, d.h. jede Folgerung ψ aus einer Formelmenge Φ kann mithilfe von K aus Φ hergeleitet werden. 40 Grundlagen der Mathematik für Informatiker Beispiel: Herleitung von ψ = p → ( p ∨ q) ∧ ( p ∨ ¬q) in K : (a) p → p ∨ q (Axiom 6.) (b) p → p ∨ ¬q (Axiom 6.) (c) ( p → p ∨ q) → (( p → p ∨ ¬q) → ( p → ( p ∨ q) ∧ ( p ∨ ¬q))) (Axiom 5.) (d) ( p → p ∨ ¬q) → ( p → ( p ∨ q) ∧ ( p ∨ ¬q)) (Modus Ponens auf (a), (c)) (e) p → ( p ∨ q) ∧ ( p ∨ ¬q) (Modus Ponens auf (b), (d)) 41