構成主義者がなぜcall / ccを気にしすぎないのか


15

そのため、少し前に、最初に誰かに、call / ccがPeirceの法則を実装することにより、古典的な証明の証明オブジェクトを許可できると言われました。私は最近、このトピックについていくつかのことを考えましたが、問題を見つけることができないようです。しかし、私は本当に他の誰かがそれについて話しているのを見ることができないようです。議論はないようです。何が得られますか?

あなたのような工事がある場合ように私には思えるいくつかの状況では、2つのものの1が真です。あなたは、インスタンスへのアクセス持っているのいずれか何とか場合の制御フローは、ここに到達することはないている現在の状況では、我々は何でもまたは指定されたと仮定しても安全ですF ¬ ¬ P 手段F P →を唯一の方法fが返すことができる⊥はのインスタンス構築することであるPをf:¬(¬P)f:¬(¬P)f:(P)fPそれに2つのそれの引数(のインスタンス適用。そのような場合、Pのインスタンスを構築するいくつかの方法がすでにありました。call / ccがこの構造を引き出すのは理にかなっているようです。ここでの私の推論は、私には幾分疑わしいように思えますが、私の混乱はまだ残っています。call / ccがPのインスタンスを作成するだけではない場合(どうすればよいかわかりません)、問題は何ですか?P)PP

call / ccを含まないよく型付けされた用語には通常の形式がありませんか?そのような式に疑わしい他のプロパティがありますか?構成主義者がcall / ccを好まないはずの理由はありますか?



回答:


19

建設的な数学は単なる形式的なシステムではなく、数学が何であるかを理解することです。別の言い方をすれば、建設的な数学者がすべての種類のセマンティクスを受け入れるわけではありません。

建設的call/ccな数学者には、不正行為のように見えます。私たちが目撃どのように考えてみ使用しました:p¬pcall/cc

  1. 我々は、機能を提供容疑者証明¬ Pを。実際には、fはトリックの袋です。f¬pf
  2. 誰もがこれまで適用された場合は証明したp、その後、F放つロールバック時に、との証拠とP手に、約その心を変えたp ¬ P:この時間は、それがの証拠であると主張したpfpfcall/ccpp¬pp

分離の建設的な理解はアルゴリズムによる決定可能性ですが、上記はほとんど決定を下していません。テストとして、建設的な数学者はcall/cc、すべてのチューリング機械が停止または発散することを証明するのにどのように役立つかを尋ねるかもしれません。そして、この事実を目撃しているプログラムは何ですか?(それは停止オラクルであるはずです。)


ああ!! それは私が探していた親切なものだと思います。
ジェイク

9

ご指摘のとおり、この意味で古典的な論理の建設的な解釈が考えられます。古典的論理が直観主義的論理(例えば、ヘイティング算術)と一致しているという事実は、かなり以前から知られています(すでに1933年、例えばゲーデル、二重否定変換を使用)。

より洗練された引数で、ペアノ算術であることを示すことができる保守のためのHA上文。結果の本質は、古典的な証明することであるΠ 0 2を含むcは、LのL / CΠ20Π20によって(その構築することなく、文と同じ計算コンテンツを有するCPScall/cc変換)。

しかし、これは真実ではない上記の文のため:中文Σ 0 3Π20Σ30、PAで証明可能で、証人を抽出する正規形の従順を持っていないかもしれません!コンピューター科学者は、このレベルの証明による計算を気にかけないかもしれませんが、哲学的には多少不便です考慮事項にです。何かの存在を証明したかどうか。

これは、なぜcall/ccが不十分なの。

ことではあるが、言っ多く Krivineマシン、Parigot結石(例えば、「古典カリー・ハワード」枠組みの中での計算の計算の側面を探求する作品の、)および他の多くの。概要についてはこちらをご覧ください。λμ¯μ~

最後に、述語の計算と算術の場合では状況はかなりよく理解されていますが、より強力な理論はあまり研究されていないことに注意してください。例えば、IIRC、ZFCは用IZF上保存的である選択の公理の計算の意味があると示唆している、文章だけでなく(ZFCは算術文のためのZF上保守的であり、そしてZFはIZF上保存的です)。しかし、これは非常に活発な研究分野です(krivineBerardi et al。Π20

編集: mathoverflowに非常に関連する質問がここに表示されます:https ://mathoverflow.net/questions/29577/solved-sequent-calculus-as-programming-language


1
この均等性は建設的に真実ですか?
ジェフリーアーヴィング

3
@GeoffreyIrving:はい、そうです、直感的な推論だけを使用して、古典的な一貫性(古典的な推論自体ではない場合)の信念を完全に「ブートストラップ」できます。これがためゲーデルのオリジナルの動機だった -translation。¬¬
コーディ

「目撃者を抽出するのに適した通常の形式を持っていない可能性があります」が意味するもの。これらの用語が意味論の底を持っていることを意味的に意味するだけですか、それとも奇妙な何かを意味しますか?
ジェイク

3
A¬Ainr (fun x -> callcc(...))A

とった。ありがとう!私はまだあなたの答えの一部を消化しています。私は算術的階層にあまり詳しくないので、処理に少し時間がかかりました。
ジェイク

8

AndrejとCodyの両方の答えに同意します。しかし、なぜ構成主義者なのかを言及する価値があると思いますがすべきなの者が制御演算子(call / cc)気にする。

これらの演算子は通常、古典的なロジックに接続されています。なぜなら、人々がタイピングルール(Felleisen、Griffin)を見ると、型がパースの法則または二重否定除去(¬¬PP)。それにもかかわらず、Schemeプログラミング言語の型指定のない設定で制御演算子が発明されました。彼らの目的は、プログラミング言語を豊かにすることでした。継続渡しスタイルでプログラムを書く代わりに、制御演算子を使用して直接スタイルでプログラムを書くことができます。

証明理論で制御演算子を使用する利点の1つは、方法論的なものです。二重否定およびA変換を使用して、証明からプログラムを抽出する代わりに、 Π20-古典算術の定理。制御演算子を使用して、証明に対して直接書き換え正規化を実行します。

構成主義者が気をつけなければならないもう1つの利点は、制御演算子が、まだ建設的な直観的論理のカリーハワード拡張を構築する方法を示すことです。たとえば、P 二重否定消去法から Σ10-式のクラス。たとえば、マルコフの原理 または二重否定シフトを証明できる型付き制御演算子を使用できます。これらの原則は通常、構成主義者には受け入れられませんが、直観主義的な論理に追加されたときに論理和と存在のプロパティを破壊しないことが知られているため、ほとんど正当な理由はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.