Warum scheinen sich Konstruktivisten nicht allzu sehr für call / cc zu interessieren?

15

So hatte ich vor einiger Zeit zum ersten Mal jemanden, der mir sagte, dass call / cc Beweisobjekte für klassische Beweise durch Anwendung des Peirce-Gesetzes erlauben könnte. Ich habe in letzter Zeit ein wenig über das Thema nachgedacht und kann anscheinend keinen Fehler darin finden. Allerdings kann ich anscheinend niemanden sehen, der darüber spricht. Es scheint keine Diskussion zu geben. Was gibt?

Es scheint mir, dass, wenn Sie in einem bestimmten Kontext eine Konstruktion wie 1 von zwei Dingen wahr ist. Entweder haben Sie Zugriff auf eine Instanz irgendwie im aktuellen Kontext , in dem Fall Steuerfluss hier nie erreichen würde , und wir sind sicher davon ausgehen , was auch immer OR gegeben , dass Mittel der einzige Weg zurückkehren kann ist durch eine Instanz des Konstruierens und zwei es das Argument (eine Instanz der Anwendung . In einem solchen Fall gab es bereits einige Möglichkeiten, eine Instanz von konstruierenf:¬(¬P)f:¬(¬P)f:(P)fPP)P; Es scheint vernünftig für call / cc, diese Konstruktion für mich herauszuziehen. Meine Argumentation hier scheint mir etwas suspekt, aber meine Verwirrung bleibt bestehen. Wenn call / cc nicht einfach eine Instanz von aus dem Nichts erstellt (ich verstehe nicht, wie es ist), worum geht es dann?P

Haben einige gut typisierte Begriffe, die call / cc nicht enthalten, keine normalen Formen? Gibt es eine andere Eigenschaft solcher Ausdrücke, die sie verdächtig macht? Gibt es einen bekannten Grund, warum Konstruktivisten call / cc nicht mögen sollten?

Jake
quelle

Antworten:

19

Konstruktive Mathematik ist nicht nur ein formales System, sondern ein Verständnis dafür, worum es in der Mathematik geht. Anders ausgedrückt, nicht jede Art von Semantik wird von einem konstruktiven Mathematiker akzeptiert.

Ein konstruktiver Mathematiker call/ccsieht aus wie Schummeln. Überlegen Sie, wie wir Zeuge mit :p¬pcall/cc

  1. Wir bieten eine Funktion , die angeblich beweist ¬ p . In Wirklichkeit ist f eine Trickkiste.f¬pf
  2. Wenn jemand überhaupt gilt auf einen Beweis für p , dann f Entfesselt zur Zurückdrängung der Zeit und mit einem Nachweis von p in der Hand, ändert seine Meinung über p ¬ p : dieses Mal behauptet , dass es ein Beweis ist p .fpfcall/ccpp¬pp

Das konstruktive Verständnis von Disjunktion ist algorithmische Entscheidbarkeit , aber das oben Gesagte trifft kaum Entscheidungen. Als Test kann ein konstruktiver Mathematiker Sie fragen, wie sich call/ccbeweisen lässt, dass jede Turing-Maschine anhält oder auseinander läuft. Und wie sieht das Programm aus? (Es sollte das Orakel der Ewigkeit sein.)

Andrej Bauer
quelle
Ah!! Ich denke, das ist die Art, nach der ich gesucht habe.
Jake
9

Wie Sie bemerken, gibt es eine mögliche konstruktive Interpretation der klassischen Logik in diesem Sinne. Dass klassische Logik mit intuitionistischer Logik (etwa Heyting-Arithmetik) übereinstimmt , ist schon seit geraumer Zeit bekannt (bereits 1933, z. B. Gödel ).

Durch ein differenzierteres Argument kann gezeigt werden, dass Peano Arithmetic gegenüber HA für Π 0 2 -Anweisungen konservativ ist . Die Essenz des Ergebnisses ist, dass die klassischen Beweise von Π 0 2 mit c a l l / c c den gleichen Recheninhalt haben wie eine Aussage ohne dieses Konstrukt (durch eine CPS- Transformation).Π20Π20call/cc

Dies gilt jedoch nicht für Aussagen über : Aussagen in Σ 0 3 , die in PA nachweisbar sind, haben möglicherweise keine normale Form, die für die Zeugenaussage geeignet ist! Informatiker interessieren sich vielleicht nicht für das Rechnen mit Beweisen auf dieser Ebene, aber für philosophische Überlegungen ist es etwas unpraktisch : Haben wir die Existenz von etwas bewiesen oder nicht?Π20Σ30

Ich denke, dies fasst zusammen, warum das "Fixieren" nichtkonstruktiver Logik durch Addition von unbefriedigend sein kann.call/cc

Abgesehen davon gibt es eine Menge Arbeit, die die rechnerischen Aspekte der Berechnung innerhalb des "klassischen Curry-Howard" -Rahmenwerks untersucht, z. B. die Krivine Machine, die Parigot-Rechnung ( ) und viele andere. Sehen Sie hier für einen Überblick.λμ¯μ~

Abschließend sei angemerkt, dass die Situation zwar im Prädikatenkalkül und in arithmetischen Fällen recht gut verstanden wird, leistungsfähigere Theorien jedoch weitaus weniger erforscht sind. Zum Beispiel ist IIRC, ZFC gegenüber IZF auch für Sätze konservativ (ZFC gegenüber ZF für arithmetische Sätze konservativ und ZF gegenüber IZF konservativ), was darauf hindeutet, dass es eine rechnerische Bedeutung für das Axiom der Wahl gibt. Dies ist jedoch ein sehr aktives Forschungsgebiet ( Krivine , Berardi et al. )Π20

Bearbeiten: Eine sehr relevante Frage zu Mathoverflow erscheint hier: /mathpro/29577/solved-sequent-calculus-as-programming-language

Cody
quelle
1
Ist diese Gleichheit konstruktiv wahr?
Geoffrey Irving
3
¬¬
Was mit "kann keine normale Form haben, die für das Herausziehen eines Zeugen geeignet ist" gemeint ist. Bedeutet es nur semantisch, dass diese Begriffe Grund für Semantik haben, oder bedeutet es etwas Fremdes?
Jake
3
A¬Ainr (fun x -> callcc(...))A
Ich habs. Vielen Dank! Ich verdaue immer noch Teile Ihrer Antwort. Ich bin mit der arithmetischen Hierarchie nicht sehr vertraut, daher habe ich etwas mehr Zeit gebraucht, um sie zu verarbeiten.
Jake
8

Ich stimme der Antwort von Andrej und Cody zu. Ich halte es jedoch auch für erwähnenswert, warum Konstruktivisten sich für Steueroperatoren interessieren sollten (call / cc).

¬¬PP

Π20

PΣ10

Danko Ilik
quelle