Philosophie des Intuitionismus und sein Einfluß auf die Informatik

Werbung
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
Herunterladen