公理でCICを拡張することの負の結果は何ですか?


13

公理をCICに追加すると、定義や定理の計算内容に悪影響を与える可能性があるのは本当ですか?私がもしあれば、閉じた用語はその標準的な正規形、例えばに削減する、理論の通常の動作では、それを理解、その後、真であるN形の用語に削減しなければならないS U C C S U c c 0 。しかし、公理を仮定するとき-関数の拡張性公理と言う-システムに新しい定数を追加するだけですnNnsあなたはccsあなたはcc0funext

fあなたはneバツtΠバツAfバツ=gバツf=g

これは、magic xの証明から証明を「魔法のように」生成します。A f x = g x 、計算上の意味はまったくありません(コードを抽出できないという意味ですか?f=gΠバツAfバツ=gバツ

しかし、なぜこれが「悪い」のでしょうか?

のためにfunext、私はこのcoqエントリとこのmathoverflowの質問を読んで、それによってシステムが標準性を失うか、決定可能なチェックを行うことになる。coqエントリは良い例を示しているように見えますが、私はまだそれに関するいくつかの参照が欲しいです-そしてどういうわけか私は見つけられません。

余分な公理を追加すると、CICの動作が悪くなるのはどうしてですか?実用的な例はどれも素晴らしいでしょう。(たとえば、Univalence Axiom?)この質問は柔らかすぎるのではないかと心配していますが、もし誰かがそれらの問題に光を当てるか、または私にいくつかの参照を与えることができれば素晴らしいです!


PS:coqエントリには、「Thierry Coquandが、90年代半ばの内包的家族でのパターンマッチングが拡張性と矛盾していることを既に観察している」と書かれています。誰がどの紙または何かで知っていますか?

回答:


7

公理を拒否する最初の理由の1つは、矛盾が生じる可能性があることです。一貫性があることが証明された公理でさえ、計算解釈を持つものもあります(それらの縮約原理で定義の平等を拡張する方法を知っています)し、そうでないものもあります-それらは正準性を破ります。これはさまざまな理由で「悪い」です:

  • 理論的には、正規性を使用すると、特定のモデルに移動することなく、言語の価値について証明できます。これは、システムについて考えるのに非常に満足のいく特性です。特に、実世界についての主張をサポートしていnatます。閉じた通常の住民が実際に自然数であることを証明できるため、システムで形式化されたタイプを本当に「自然数」と考えることができます。それ以外の場合、システムで何かを正しくモデル化したと考えるのは簡単ですが、実際には異なるオブジェクトを操作しています。

  • 実際には、簡約は証明を容易にするため、依存型理論の主要な資産です。命題の平等を証明することはarbitrarily意的に難しい場合がありますが、定義の平等を証明することは(それほど頻繁ではありませんが)証明項が自明であるためはるかに簡単です。より一般的には、計算は証明アシスタントのユーザーエクスペリエンスの中心的な側面であり、予想どおりに正しく減少するように物事を定義するのが一般的です。(計算を難しくするのに公理は必要ありません。たとえば、命題の平等に変換原理を使用すると、すでに削減をブロックできます)。リフレクションによる証明のビジネス全体計算の使用に基づいて証明を支援します。これは、他のロジックベースの証明アシスタント(たとえば、平等性推論のみをサポートするHOL-light、または異なるアプローチについてはZombieを参照)、および未チェックの公理、または他のプログラミングスタイルと比較して、パワーと利便性の大きな違いです。この快適ゾーンから抜け出すことができます。


+1ご回答ありがとうございます。計算上の解釈を持つ公理のいくつかの例を教えてもらえますか(あるいは、主題に関する何らかの参考文献)。
StudentType

計算上の解釈を持つ公理の1つの例は、Prop-Irrelevanceです。ある種のファミリーのすべての居住者(この正確なケースでは、Prop純粋に論理的なステートメントに対応するCoq証明アシスタントの種類の居住者; Prop-Irrelevanceはそれらのステートメントの証明の内部構造を無視すること)は、ほとんどそれらを気にしないことで等しくできます。計算に影響を与える必要はありません-しかし、システムが矛盾しないように慎重に行う必要があります。
ガッシュ

計算解釈の別のファミリーは、古典的な推論と制御効果の間の対応に由来します。これのよりよく知られている部分は、除外されたミドルに継続キャプチャによって計算セマンティクスを与えることができることですが、よりきめの細かい論理原則(例えば、マルコフの原理)を与える制御の制限された形式(正の型の例外)があります。マルコフの原理を証明するヒューゴ・ハーベリンの直観論的論理、2010年を参照してください。
gasche

5

いくつかの公理で定理証明を拡張すると問題が発生する理由を理解するために、それがいつ良性であるかを見るのも興味深い。2つのケースが思い浮かびますが、どちらも仮定の計算動作を気にしないという事実に関係しています。

  • 観測型理論では、正Prop準性を失うことなく一貫性のある証拠を仮定することができます。実際、すべての証明は同等であると見なされ、システムは条件の確認を完全に拒否することでこれを実施します。結果として、証拠が手作業で作成された、または単純に仮定されたという事実は、結果をもたらさない。典型的な例は、「結束」の証のようになります。私たちは証拠があれば、その後の任意のためのタイプの、単に平等の証拠に沿って用語を輸送します。eqA = B : TypetAt == coerce A B eq tcoerce

  • MLTTでは、正準性を失うことなく負の一貫した公理を仮定できます。ます。この背後にある直観は、負の公理(の形式の公理A -> False)は無関係な分岐を排除するためにのみ使用されるということです。公理が一貫している場合、それは実際に無関係であるブランチでのみ使用でき、したがって用語を評価するときに決して使用されません。


4

公理がひどく振る舞う公理の実際的な例ですが、これはどうですか?

 0 = 1

Coquandの論文は[1]であり、パターンマッチングで拡張された依存ITT(Martin-Löfの直観主義型理論)を使用して、UIP(同一性証明一意性の公理)を証明できることを示しています。後にStreicherとHoffmann [2]は、UIPを偽造するITTのモデルを提示します。したがって、パターンマッチングはITTの保守的な拡張ではありません。


  1. T. Coquand、依存型とのパターンマッチング

  2. M.ホフマン、T。ストライヒャー、型理論のグルーポイド解釈

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