Bernhard Steffen . Oliver Rüthing . Malte Isberner Grundlagen der höheren Informatik Induktives Vorgehen ~ Springer Vieweg Inhaltsverzeichnis 1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I 1.1 Illustrative Beispiele und typische Probleme . . . . . . . . . . . . . . . . . . . . 3 1.2 Das Zusammenspiel von Syntax und Semantik. . . . . . . . . . . . . . . . . . 9 1.3 Denken in Strukturen: Ein lernpragmatischer Zugang 12 1.4 Lernziele des ersten Bandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14 2 Aussagen und Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.1 Aussagen................................... . . . . . . . . . . . . .. 2.1.1 Aussagenlogik 2.1.2 Prädikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.1.3 Logische Beweisprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.2 Mengen................................................... 2.2.1 Mengenbeziehungen 2.2.2 Potenzmengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.2.3 Mengenverknüpfungen 2.2.4 Mächtigkeit endlicher Mengen. . . . . . . . . . . . . . . . . . . . . . . .. 2.3 Wei terführende Betrachtungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.3.1 Aussagenlogik 2.3.2 Axiomatisches Beweisen. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.3.3 Algebraisches Denken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.3.4 Korrektheit und Vollständigkeit 2.3.5 Antinomien......................................... 2.4 Lernziele.................................................. 2.5 Aufgaben................................................. 15 15 18 23 28 30 31 32 33 36 37 38 39 41 42 43 44 45 3 Relationen und Funktionen 3.1 Relationen................................................ 3.1.1 Kartesisches Produkt 3.1.2 n-stellige Relationen 3.1.3 Binäre Relationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.2 Funktionen................................................ 47 47 47 49 50 52 xxiii xxiv Inhaltsverzeichnis 3.2.1 Eigenschaften von Funktionen . . . . . . . . . . . . . . . . . . . . . . . .. 3.2.2 Erhaltungseigenschaften . . . . . . . . . . . . . . . . . . . . . . .. 3.2.3 Mächtigkeit unendlicher Mengen. . . . . . . . . . . . . . . . . . . . . .. 3.2.4 Partiell definierte Funktionen Äquivalenzrelationen 3.3.1 Partitionen.......................................... Weiterführende Betrachtungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.4.1 Endliche Bitvektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.4.2 Grenzen der AbzählbarkeitJBerechenbarkeit. . . . . . . . . . . . .. 3.4.3 Hüllen, Abschlüsse, Vervollständigungen. . . . . . . . . . . . . . .. 3.4.4 Äquivalenzrelationen in der objektorientierten Programmierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.4.5 Rechnen mit Kardinalzahlen. . . . . . . . . . . . . . . . . . . . . . . . . .. Lernziele.................................................. Aufgaben................................................. 54 58 59 68 69 70 73 73 74 75 4 Induktives Definieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.1 Natürliche Zahlen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.1.1 Peano-Axiome...................................... 4.1.2 Operationen auf natürlichen Zahlen. . . . . . . . . . . . . . . . . . . .. 4.1.3 Induktiv definierte Algorithmen. . . . . . . . . . . . . . . . . . . . . . .. 4.2 Induktiv definierte Mengen 4.2.1 Anwendung in der Informatik. . . . . . . . . . . . . . . . . . . . . . . . .. 4.3 Darstellung und Bedeutung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.3.1 Zeichenreihen 4.3.2 Semantikschemata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.3.3 Backus-Naur-Form 4.4 Induktive Semantikschemata 4.5 Weiterführende Betrachtungen 4.5.1 Notationen und Standards 4.5.2 Lineare Listen in funktionalen Programmiersprachen 4.5.3 Eindeutigkeit der Darstellung 4.5.4 BNF ist nicht gleich BNF 4.6 Lernziele 4.7 Aufgaben 83 84 84 86 88 92 93 96 97 98 101 104 107 107 108 109 1II 112 113 5 Induktives Beweisen 5.1 Ordnungsrelationen 5.1.1 Partielle Ordnungen 5.1.2 Quasiordnungen 5.1.3 Totale Ordnungen 5.1.4 Striktordnungen 5.2 Ordnungen und Teilstrukturen 5.3 Noethersche Induktion 5.3.1 Terrninierungsbeweise I 15 115 116 118 119 119 121 122 126 3.3 3.4 3.5 3.6 77 78 79 80 Inhaltsverzeichnis 5.4 5.5 5.6 5.7 5.8 5.9 6 Verallgemeinerte Induktion Strukturelle Induktion Vollständige Induktion Weiterführende Betrachtungen 5.7.1 Verschärfung der Induktionsvoraussetzung 5.7.2 Anwendung: Das Substitutionslemma 5.7.3 Formale Korrektheitsbeweise 5.7.4 BNF-basierte Induktion 5.7.5 Weitere Formen von Induktionsbeweisen Lernziele Aufgaben................................................. Induktives Vorgehen: Potential und Grenzen 6.1 Potential 6.2 Grenzen 6.3 Pragmatik xxv 129 130 133 136 137 138 141 144 147 150 150 153 153 155 156 Literaturverzeichnis 159 Lösungen der Aufgaben 161 Sachverzeichnis 177