Philosophie des Intuitionismus und sein Einfluß auf die Informatik Christoph Kreitz Was ist Intuitionismus? – Unterschiede zur klassischen Mathematik – Historische Entwicklung Bezüge zur Informatik – Ähnlichkeit von Konzepten und Ergebnissen – Formalismen für die Programmierung Perspektiven Konstruktives Denken Hat der Vortrag um 1415 angefangen oder nicht? Klass: Ja Int: Das zweite ist der Fall Gibt es einen Dekan des FB Informatik? Klass: Es kann nicht sein, daß es keinen gibt Int: Professor Walter ist unser Dekan Fragen werden anders aufgefaßt Unterschiedlicher Informationsgehalt Philosophie des Intuitionismus ... 1 Intuitionistische Mathematik Klassische Mathematik Mathematik = Konsistente Axiome + Logik • Grundlage: abstrakte Mengentheorie • Mathematik wird axiomatisch aufgebaut • Abstrakt definierte Objekte existieren, wenn dies nicht zu Widersprüchen führt • Sätze sind gültig, wenn mit den Axiomen das Gegenteil widerlegt werden kann Philosophie des Intuitionismus ... 2 Intuitionistische Mathematik Intuitionistische Mathematik Die natürlichen Zahlen hat der liebe Gott gemacht. Alles andere ist Menschenwerk. (Kronecker) • Grundlage: (intuitive) Gesetze über IN • Mathematik wird definitorisch aufgebaut • Objekte entziehen sich der Erkenntnis, solange sie nicht konstruierbar sind Abstrakte Existenz ist metaphysisch und nicht Thema der Mathematik • Sätze müssen durch Konstruktion einer Evidenz bewiesen werden Philosophie des Intuitionismus ... 3 Intuitionistische Mathematik Historische Entwicklung Mathematik bis zum 19. Jahrhundert war konstruktiv und endlich Infinitesimalrechnung benötigte höhere Abstraktion – Neue Fundierung der Mathematik nötig Mengentheorie (Cantor 1874–1897, Zermelo 1908) – erlaubt: {x|x erfüllt eine Eigenschaft} Satz vom ausgeschlossen Dritten “Eine Aussage ist wahr oder ihr Gegenteil ist wahr” Tertium non datur Philosophie des Intuitionismus ... 4 Intuitionistische Mathematik Ein umstrittener Beweis Es gibt zwei irrationale Zahlen x und y, so daß xy rational ist. Beweis klassisch: √ √2 Betrachte z = 2 . z ist rational oder irrational. √ Falls z rational ist, wähle x√= y = 2. √ 2 √ Andernfalls wähle x = 2 und y = 2. Liefert keine Konstruktion von x und y Philosophie des Intuitionismus ... 5 Intuitionistische Mathematik Historische Entwicklung II Grundlagenstreit (Brouwer 1908) – Widerspruchsbeweise i.a. unzulässig – Satz vom Ausgeschlossenen Dritten falsch – Mathematik muß konstruktiv sein Intuitionistische Mathematik – Prinzipen von Brouwer (1926–1928) – ausgearbeitet von Heyting (1956), Troelsta (1969) u.v.a. Fast alle Mathematik ist konstruktiv (Lorenzen 1965, Bishop 1965, Bridges 1979) Philosophie des Intuitionismus ... 6 Intuitionistische Mathematik Denkweisen im Vergleich Unterschiede reduzierbar auf ein Axiom – Axiom vom Ausgeschlossenen Dritten (Logik) – Auswahlaxiom (Mengentheorie) – Axiom der kleinsten oberen Schranke (Analysis) Klassische Mathematik intuitionistisch simulierbar (Gödel 1932) – Umkehrung nur mit großem Aufwand Gleiche Ergebnisse für endliche Objekte Unterschiede für unendliche Objekte – Klassische Beweise oft eleganter – Manche Sätze intuitionistisch ungültig Philosophie des Intuitionismus ... 7 Intuitionistische Mathematik Ein intuitionistisch ungültiger Satz Zwischenwertsatz Sei f stetige Funktion mit y 6 f (a) < 0 und f (b) > 0. f Dann gibt es eine Zahl c ∈ [a; b] mit f (c) = 0. a c b x - Klassischer Beweis: c = sup{x ∈ [a; b]|f (x) ≤ 0} c existiert wegen des Axioms der oberen Grenze c ist nachweislich nicht konstruierbar Philosophie des Intuitionismus ... 8 Intuitionistische Mathematik Informatik Vaterschaft des Intuitionismus – Metamathematische Untersuchungen über Konstruktionen (Church 1930, Gödel 1930, Turing 1936, Kleene 1938, . . . ) – Bau von Rechenmaschinen (Zuse 1942, v. Neumann 1945) Veränderte Sprechweise – Klassische Mathematik + Berechenbarkeitskonzept Veränderte Schwerpunkte – Intuitionismus: extensional, konzeptionell – Informatik: intensional, konkret Philosophie des Intuitionismus ... 9 Intuitionismus und Informatik Verwandtschaft der Konzepte Intuitionismus Informatik Existenz Über einen (konkreten) Algorithmus zu bestimmen Funktion Programmierbare Funktion Menge .. Aufzählbare Menge .. Gültiger Satz Über Algorithmus bewiesen ‘∀x∃yP (x, y)’ Programm, das y aus x berechnet ‘P Entscheidbarkeit von P ∨ ¬P ’ – Ablehnung – .. – Satz von Rice – .. Intuitionistisch gültig = konkret handhabbar (Klassisch gültig = abstrakt spezifizierbar) Philosophie des Intuitionismus ... 10 Intuitionismus und Informatik Verwandte Konstrukte Mathematik Programmierung Funktion f Programm p Argument Eingabe Wert Ausgabe Gleichheit x = e Zuweisung x := e Komposition f ◦g Sequenz p1; p2 Logik Fallunterscheidung if t then p1 else p2 Rekursion while t do p Menge S Datentyp T Proposition P Element a Datenstruktur a Beweis p a∈S Deklaration a : T p beweist P {} void falsch S1 × S2 Record P ∧Q S1 + S2 Variant Record P ∨Q {1..n}→S Array S1→S2 ZZ ... Philosophie des Intuitionismus ... P ⇒Q int ... ... 11 c P. Martin-Löf, 1979 ° Berechenbarkeit – klassisch Sei h(n) = 1 wenn in der Dezimalentwicklung von π mindestens n aufeinanderfolgende Einsen vorkommen 0 sonst Ist h : IN→IN eine berechenbare Funktion? h ist eine konstante Funktion, wenn es in der Dezimalentwicklung von π beliebig lange Folgen von Einsen gibt. Andernfalls ist h eine Stufenfunktion, die an einer Stelle Πmax von 1 auf 0 herunterspringt. (Πmax: maximale Länge der Folgen von Einsen) Es gibt immer ein Programm zur Berechnung von h Philosophie des Intuitionismus ... 12 Intuitionismus und Informatik Formalisierung Grundlage für Computerunterstützung bei Entwicklung und Verifikation von Programmen Formale Sprache für Mathematik und Programmierung – Aufwendiger als reine Logikkalküle Syntaktische Manipulation von Formeln – Regeln ersetzen semantisch-logisches Schließen – formale Beweise garantieren Korrektheit Bisher kein Standard vorhanden Bisher keine ausgereiften Beweisprozeduren – Beweissysteme interaktiv mit Strategieunterstützung Philosophie des Intuitionismus ... 13 Intuitionismus und Informatik Intuitionistische Formalismen Intuitionistische Typentheorie (Martin-Löf, 1979) Kalkül der Konstruktionen (Huet&Coquand, 1985) System F , Fω , Lineare Logik1 (Girard, 1971, 1986) .. Logik höherer Stufe + Datentypen + Gleichheit – enthält Programmiersprache Grundkonstrukte mit niedrigem Abstraktionsniveau – Notwendig zum Nachweis guter Eigenschaften Interaktive Beweissysteme + Tactics 1 ohne explizites Axiom vom Ausgeschlossenen Dritten Philosophie des Intuitionismus ... 14 Intuitionismus und Informatik Perspektiven Wenig geeignet für “reine” Mathematik – zu aufwendig für Frage nach “Wahrheit” – Unterschiede kommen nur selten zum Tragen Adäquatere Denkweise für die Informatik – besonders bei computergestützter Problemlösung wie Programmentwicklung und -verifikation Philosophie des Intuitionismus ... 15 Zwischenwertsatz – Gegenbeispiel y 6 f fn 2−n x −1000000 1000000 gn Philosophie des Intuitionismus ... −2−n 16