Beweisformen Induktionsbeweise Wörter Formale Methoden 2 Sprachen LVA 703019, 703020 (http://clinformatik.uibk.ac.at/teaching/ss06/fmII/) Georg Moser (VO)1 Martin Korp (UE)2 Friedrich Neurauter (UE)3 Christian Vogt (UE)4 1 2 3 4 [email protected] [email protected] [email protected] [email protected] Sprechstunden: Sprechstunden: Sprechstunden: Sprechstunden: Mittwoch, 13:00–15:00 (3M09) Freitag, 12:00–14:00 (3M03) Montag, 11:00–13:00 (3M03) Donnerstag, 10:00–12:00 (3M12) Sommersemester 2006 Formale Methoden 2 LVA 703019, 703020 Beweisformen Induktionsbeweise G. Moser 1 Wörter Sprachen Beweistechnik: Beweise in Bezug auf Mengen Satz R ∪ (S ∩ T ) = (R ∪ S) ∩ (R ∪ T ) Beweis Umformulierung nach Definition zu ‘Genau dann, wenn”-Satz: x ∈ R ∪ (S ∩ T ) genau dann, wenn x ∈ (R ∪ S) ∩ (R ∪ T ) Wir zeigen die “nur dann, wenn”-Richtung: x ∈ R ∪ (S ∩ T ) impliziert x ∈ (R ∪ S) ∩ (R ∪ T ): x ∈ R ∪ (S ∩ T ) Hypothese x ∈ R oder (x ∈ S ∩ T ) Definition von ∪ x ∈ R oder (x ∈ S und x ∈ T ) Definition von ∩ (x ∈ R oder x ∈ S) und (x ∈ R oder x ∈ T ) x ∈ (R ∪ S) ∩ (R ∪ T ) Formale Methoden 2 LVA 703019, 703020 G. Moser 2 Beweisformen Induktionsbeweise Wörter Sprachen Beweistechnik: Widerspruchsbeweise Satz S sei eine endliche Teilmenge einer unendlichen Menge U. T sei die Komplementärmenge von S in Bezug auf U. Dann ist T unendlich. Beweis á Laut Definition S ∪ T = U und S, T disjunkt, also |S| + |T | = |U|. á Da S endlich, existiert n, sodass |S| = n. Andererseits, da U unendlich, existiert kein l, sodass |U| = l. á Angenommen T ist endlich, dann existiert m, sodass |T | = m. á Also |U| = |S| + |T | = n + m. Widerspruch! á Somit muss T unendlich sein. Formale Methoden 2 LVA 703019, 703020 Beweisformen Induktionsbeweise G. Moser Wörter 3 Sprachen Widerspruchsbeweise Hypothese(n) Negation der Konklusion ⊥ Konklusion Gegenbeispiele Sätze behandeln allgemeine Aussage. Ist die Aussage für bestimmte Werte falsch, dann haben wir ein Gegenbeispiel gefunden. Formale Methoden 2 LVA 703019, 703020 G. Moser 4 Beweisformen Induktionsbeweise Wörter Sprachen Induktionsbeweise mit ganzen Zahlen Aussage S(n) soll für alle n gezeigt werden. á Basis: Zu zeigen, dass S für Startwert gilt, etwa n = 0 oder n = 1. á Induktionsschritt: Zu zeigen, dass wenn S(n), dann gilt auch S(n + 1). Induktionsprinzip Wenn wir S(i) beweisen und beweisen können, dass für alle n ≥ i, S(n) S(n + 1) impliziert, dann können wir darauf schließen, dass S(n) für alle n ≥ i gilt. S(i) Formale Methoden 2 Beweisformen Satz Beweis S(n) LVA 703019, 703020 Induktionsbeweise S(n + 1) G. Moser Wörter 5 Sprachen Wenn x ≥ 4, dann 2x ≥ x 2 . mit Induktion Basis: x = 4 impliziert 2x = x 2 . Schritt: Induktionshypothese (IH): 2x ≥ x 2 á zu zeigen 2x+1 ≥ (x + 1)2 ; aus IH folgt: 2x+1 = 2 · 2x ≥ 2x 2 ; wir zeigen 2x 2 ≥ (x + 1)2 : á zunächst zeigen wir x ≥ 2 + x1 : x ≥ 4 ≥ 2 + 1 ≥ 2 + x1 . á Nun gilt: 1 x ≥2+ x 2 x ≥ 2x + 1 mit x multiplizieren 2x 2 ≥ 2x 2 + 2x + 1 x 2 addieren 2x 2 ≥ (x + 1)2 Formale Methoden 2 LVA 703019, 703020 G. Moser 6 Beweisformen Induktionsbeweise Wörter Sprachen Allgemeinere Formen der Induktion Um S(n + 1) zu beweisen, können wir als Induktionshypothesen alle Aussagen S(i), S(i + 1), . . . , S(n) , verwenden. Andere Erweiterung: Mehrere Basisfälle S(i), S(i + 1), . . . , S(j) , Dann können wir im Induktionsschritt n≥j , annehmen. Formale Methoden 2 LVA 703019, 703020 Beweisformen Induktionsbeweise G. Moser Wörter 7 Sprachen Satz Wenn n ≥ 8, dann existieren natürliche Zahlen k, l ≥ 0, sodass n = 3k + 5l. Beweis Wir schreiben S(n) für die Aussage des Satzes. Basis (i) S(8): 8 = 3 + 5, (ii) S(9): 9 = 3 · 3 + 5 · 0, (iii) S(10): 10 = 3 · 0 + 5 · 2. Schritt IH: S(8), S(9), . . . , S(n) sind wahr und n ≥ 10. á wir müssen S(n + 1) zeigen á wir betrachten (n + 1) − 3, dann gilt (n + 1) − 3 = n − 2 ≥ 8; IH ist auf n − 2 anwendbar á es existieren k, l ≥ 0, sodass n − 2 = 3k + 5l á also n + 1 = 3(k + 1) + 5l Formale Methoden 2 LVA 703019, 703020 G. Moser 8 Beweisformen Induktionsbeweise Wörter Sprachen Strukturelle Induktion—Induktive Definitionen Bäume á Basis Ein einzelner Knoten ist ein Baum; dieser Knoten ist die Wurzel (des Baumes). á Schritt Wenn T1 , T2 , . . . , Tk Bäume sind, bilde neuen Baum: 1. Neuer Knoten N, die Wurzel. 2. Füge k Kanten von N zu den Wurzeln der Ti hinzu. Ausdrücke á Basis Jede Zahl, jeder Buchstabe ist ein Ausdruck. á Schritt Wenn E , F Ausdrücke sind, dann sind auch E + F , E · F und (E ) Ausdrücke. Formale Methoden 2 LVA 703019, 703020 Beweisformen G. Moser Induktionsbeweise Wörter 9 Sprachen Induktionsprinzip Aussage S(X ) soll für alle Strukturen X , die durch eine bestimmte induktive/rekursive Definition gegeben sind, gezeigt werden. á Basis S(X ) wird für die Basisstruktur(en) X bewiesen. á Schritt Wähle Struktur X , die rekursiv aus Y1 , Y2 , . . . , Yk gebildet wird. IH S(Y1 ), S(Y2 ), . . . , S(Yk ) sind wahr Zeige damit S(X ) Formale Methoden 2 LVA 703019, 703020 G. Moser 10 Beweisformen Induktionsbeweise Satz Wörter Sprachen Jeder Baum hat einen Knoten mehr als Kanten. Beweis Die Aussage S(T ) lautet: “Wenn T ein Baum ist und n Knoten und e Kanten hat, dann gilt n = e + 1.” á Basis Trivialerweise gilt n = e + 1, wenn T nur aus einem Knoten besteht. á Schritt Angenommen T habe T1 , . . . , Tk als direkte Teilbäume, mit IH folgt S(T1 ), . . . , S(Tk ). n1 , . . . , nk die Anzahlen der Knoten von T1 , . . . , Tk . e1 , . . . , ek die Anzahlen der Kanten von T1 , . . . , Tk . Für alle i ∈ [1, k] gilt: ni = ei + 1 n = 1 + n1 + · · · + nk = = 1 + (e1 + 1) + · · · + (ek + 1) = k + e1 + · · · ek + 1 = e + 1 . Formale Methoden 2 Beweisformen LVA 703019, 703020 G. Moser Induktionsbeweise Wörter 11 Sprachen Alphabete und Wörter Ein Alphabet Σ ist eine endliche, nicht leere Menge von Symbolen. Beispiel Alphabete á Σ = {0, 1} das binäre Alphabet á Σ = {a, b, . . . , z}, die Kleinbuchstaben á die Menge der (druckbaren) ASCII-Zeichen Eine Zeichenreihe (ein Wort, ein String) ist eine endliche Folge von Symbolen über einem Alphabet Σ. Formale Methoden 2 LVA 703019, 703020 G. Moser 12 Beweisformen Induktionsbeweise Wörter Sprachen Wörter und Wortlänge Beispiel Wörter á Die Symbolkette 01101 ist eine Zeichenreihe über dem Alphabet {0, 1} á Die leere Zeichenreihe ist ein String, der keine Symbole enthält. Die Länge eines Wortes w ist als die Anzahl der Positionen in w definiert. Die Länge von w wird mit |w | bezeichnet. Beispiel Länge á Die Länge von 01101 ist 5; konzise |01101| = 5 á Die Länge von ist 0. Formale Methoden 2 LVA 703019, 703020 Beweisformen G. Moser Induktionsbeweise Wörter 13 Sprachen Σk , Σ+ , Σ∗ Definiere Σk als die Menge der Wörter der Länge k, deren Symbole aus Σ stammen. Wir verwenden auch Σ+ = Σ1 ∪ Σ2 ∪ · · · Σ∗ = Σ+ ∪ {} Beispiel Sei Σ = {0, 1}. Dann gilt á Σ1 = {0, 1} á Σ2 = {00, 01, 10, 11} á Σ3 = {000, 001, 010, 011, 100, 101, 110, 111} á ... Formale Methoden 2 LVA 703019, 703020 G. Moser 14 Beweisformen Induktionsbeweise Wörter Sprachen Konkatenation Seien x, y Wörter, wir schreiben xy für die Konkatenation von x und y . Sei x = a1 a2 · · · ai , y = b1 b2 · · · bj , dann gilt xy = a1 a2 · · · ai b1 b2 · · · bj Beispiel Konkatenation Sei x = 01101, y = 110, z = 10101 dann ist xy = 01101110 und yx = 11001101. Die Konkatenation ist also nicht kommutativ, aber assoziativ: (xy )z = (01101110)10101 = 01101(11010101) = x(yz) . Formale Methoden 2 Beweisformen LVA 703019, 703020 G. Moser Induktionsbeweise Wörter 15 Sprachen Sprachen Eine Teilmenge L von Σ∗ heißt eine formale Sprache über dem Alphabet Σ Beispiel Sprachen á Die Menge der Wörter, die jeweils die selbe Anzahl 0en und 1er enthalten: {, 01, 10, 0011, 0101, · · · } . á Die Binärzahlen, die Primzahlen kodieren: {10, 11, 101, 111, 1011, · · · } . á Σ∗ ist eine Sprache, ∅—die leere Sprache—ist eine Sprache, {} ist eine Sprache. Beachte {} = 6 ∅. Formale Methoden 2 LVA 703019, 703020 G. Moser 16 Beweisformen Induktionsbeweise Wörter Sprachen Komplement, Produkt, Potenz Das Komplement L von L ist definiert als L := {x ∈ Σ∗ | x ∈ / L} Für L1 und L2 über Σ ist das Produkt L1 L2 definiert als L1 L2 := {xy | x ∈ L1 , y ∈ L2 } Die k-te Potenz {} Lk = L LL···L | {z } falls k = 0 falls k = 1 falls k > 1 k-mal ∗ L = [ L k + L := k≥0 Formale Methoden 2 Beweisformen LVA 703019, 703020 [ Lk k≥1 G. Moser Induktionsbeweise Wörter 17 Sprachen Zusammenfassung á Beweise über Mengen, Widerspruchsbeweise, Gegenbeispiele á Induktive Beweise mit ganzen Zahlen á Strukturelle Induktion á Alphabete, Wörter, Sprachen á Komplement, Produkt, Potenz Formale Methoden 2 LVA 703019, 703020 G. Moser 18