型理論の帰納的定義における偏見の役割は何ですか?


16

私たちは、多くの場合、オブジェクト定義したいいくつかの推論規則に従って。これらのルールは、生成関数示すFが単調である場合、最小不動点得、μ Fを。私たちは取るA = μ Fの「誘導的な定義」であることをA。さらに、Fの単調性により、セットにAが含まれるとき(つまり、プロパティがAに普遍的に保持されるとき)を決定するために、「帰納の原理」を推論できます。AうんFμFA:=μFAFAA

Coqでは、これは、明示的な導入用語を使用してAの定義を記述することに対応します。この定義は特定の関数Fを示していますが、その関数は必ずしも単調ではありません。したがって、Coqはいくつかの構文チェックを使用して、定義の「整形式」を保証します。近似的に、それはの発生を拒否しますInductiveAFA的には、導入用語のタイプの負の位置でのます。

(これまでの私の理解に欠陥がある場合、私を修正してください!)

最初に、Coqのコンテキストでのいくつかの質問:

1)Coqの構文チェックは、の定義がA述語ですか?(もしそうなら、定義が不明確になる唯一の方法は不可逆性ですか?)それとも単調性をチェックしていますか?(それに対応して、非単調性はそれを殺すかもしれませんか?)

2)そのような否定的な発生は、必然的にAAAの定義はimpredicative /非単調ですか?または、その場合にCoqが明確に定義されていることを確認できませんか?

より一般的に:

3)帰納的定義の偏見とその定義の生成関数の単調性との関係は何ですか?それらは同じコインの両面ですか?それらは無関係ですか?非公式に、どちらが重要ですか?

回答:


14

いいえ、この場合、偏見と単調性は密接に関連していません。

Coq / Adgaのポジティブチェックは、おおよそ単調なものの最小固定点を確実に取得するのに役立ちます。

格子と単調演算子の観点から帰納的型を考える方法は次のとおりです。Knaster-Tarskiの定理は、完全な格子、すべての単調演算子f L Lが最小不動点μ f )を持っていることを思い出してください。次に、型理論の型は、証明可能性の下で格子を形成すると考えることができます。すなわち、入力Sが下にあるTの真実ならばSはのことを伴うT。今、私たちがやりたいことはモノトーンオペレータ取ることですFのLf:LLμ(f)STSTF、型に Knaster-Tarskiを使用してこの演算子の最小不動点の解釈を取得することですμ(F)

ただし、型理論の型は単なる格子ではありません。カテゴリを形成します。つまり、2つのタイプTが与えられた場合、STより下になるには多くの方法があり、各証明eには1つの方法がありますS T。したがって、型演算子Fは、これらの証明に対して賢明なことをしなければなりません。単調性の適切な一般化である関手。それは私たちが望む、あるFはタイプの演算子を持っている、とも、証明への作用を持っているようであればE S T、その後、F STSTe:STFFe:STFeFSFT

現在、機能性は和と積によって保存されています(つまり、Gが型の内積関数である場合、F + GF × G(点ごとに作用する)も型の関数関数です(代数に和と積があると仮定します)ただし、指数関数的バイファンクターF Gはその左引数で反変であるため、関数空間によって保存されません。したがって、帰納的な型定義を記述するとき、ファンクターを定義して、最小固定点を取ります。それが確かにファンクターであることを保証するために、関数空間の左側にある再帰的パラメーターの出現を除外する必要があります---したがって、陽性チェックです。FGF+GF×GFG

(System Fの意味での)不可逆性は一般に回避されます。これは、古典的論理と集合理論モデルの選択を強制する原則であるためです。Fスタイルのインデックス付けがある場合、型を古典的な集合論の集合として解釈することはできません。(レイノルズの有名な「ポリモーフィズムは集合論ではない」を参照。)

カテゴリ的に、Fスタイルの不可逆性は、タイプと用語のカテゴリが小さな完全なカテゴリを形成すると言います(つまり、homとオブジェクトは両方ともセットであり、すべての小さな図の制限が存在します)。古典的には、これはカテゴリーをポーズにすることを強制します。多くの構成主義者は建設的である。なぜなら、彼らの定理は単なる古典的な論理よりも多くのシステムで保持したいので、古典的に間違っていることを証明したくないからである。したがって、それらは、命令的多型に不信です。

ただし、ポリモーフィズムにより、型理論の内部で古典的に「大きい」多くの条件を言うことができます。多形項を生成できる場合、型演算子は関数です。F

Fmap:α,β.(αβ)(F(α)F(β))

これが機能性にどのように対応するかをご覧ください。IMO、これは一般的なプログラミングをはるかに簡単に行えるようになるため、Coqにある非常に素晴らしいオプションです。陽性チェックの構文的性質は、一般的なプログラミングの大きな障害であり、古典的な公理の可能性をより柔軟な機能的プログラムと引き換えに喜んでいます。

編集:PropとSetの違いについてあなたが尋ねている質問は、Coq開発者があなたがそうすることを強制することなく必要に応じて素朴な集合理論用語でCoq定理について考えることを許可したいという事実から生じます。技術的には、プロップとセットを分割し、セットがプロップの計算内容に依存することを禁止します。

したがって、ZFCではPropを真理値として解釈できます。これはブール値trueとfalseです。この世界では、命題の証明はすべて平等であるため、明らかに命題の証明に分岐することはできません。したがって、Propの証明の計算内容に依存するセットの禁止は完全に理にかなっています。さらに、2要素のブールラティスは明らかに完全なラティスであるため、任意のset-valued meetが存在するため、命令型インデックス付けをサポートする必要があります。セットの優先性の制限は、上記のFスタイルのインデックス付けが古典的なセット理論モデルで縮退しているという事実から生じます。

Coqには他のモデルもあります(建設的なロジックです!)が、ポイントは、既成の数学者が困惑するようなことは何も証明しないということです。


お返事ありがとう、ニール。「帰納的定義」の定義は、「初期代数」アプローチに対応しているようです。単調関数(証明や計算内容は言うまでもありません)ではなく、ファンクター(より一般的な概念)に関心があります。したがって、Coqは単調性をチェックするのではなく、実際に機能性をチェックしています。ただし、偏見が問題にならない場合、Coqは、P r o pの定義済みオブジェクトとS e tまたはT y p eの定義済みオブジェクトの正の発生チェックを区別するのはなぜですか?FPropSetType
スコットキルパトリック

私はあなたの質問を理解していません:CoqはInductive Blah : Prop := Foo : (Blah -> Blah) -> Blah他のものと同じことを嫌っていますか?
ニールクリシュナスワミ

1
ああ、たぶん私は、正反対性チェックを、不可逆性に関連する別のチェックと間違えているのでしょう。Inductive prop : Prop := prop_intro : Prop -> prop.対を検討してくださいInductive set : Set := set_intro: Set -> set.。なぜ偏見が帰納的定義に関係ないのかという区別?
スコットキルパトリック

@ScottKilpatrick:それは確かに別のチェックであり、(im)predicitivityについてです。命令型の強力なシグマタイプでは、ジラールのパラドックスをエンコードできるため、Type@{i}少なくとも一部の宇宙のメンバーを格納するデータ型は、より大きな宇宙に住んでいる必要がありType@{i+1}ます。
ブレイザーブレード

6

帰納的定義と不可逆性の間には非常に深い関連がありますが、私の理解では、あなたが話していることの文脈では(im)predicativityは特に関連しておらず、テストは純粋に単調性を保証するため、固定小数点理論はすなわち、誘導の原理は明確に定義されています。(この点については修正させていただきます。)

この講演では、不可逆性と帰納的定義の関係をCoquand が調査します。G. Takeutiによる50年代のいくつかの結果に戻って、意味的定義は帰納的定義に還元できるという。本

  • 分析の命令型サブシステムの証明理論-W. Buchholz、K。Schutteによる物理学2のモノグラフと教科書

あなたがそれを手に入れることができれば、トピックの良い分析を提供します。これらのスライドは概要を示しています。


4

ニールによる優れた説明を完了するために、不可逆性には「ソフト」な意味があります。それは、自分自身への参照を使用したセットまたはコレクションの定義です。その意味で:

Inductive Lam : Set :=
| Var : Nat -> Lam
| App : Lam -> Lam -> Lam
| Abs : (Lam -> Lam) -> Lam

は、誘導型、Lamを使用して、コレクション自体を参照する関数空間(Lam-> Lam)を定義するため、命令型の定義です。この状況では、不可逆性は有害です。Cantor の定理を使用してFalseを証明することができます。実際、これは数学の一貫した基礎として素朴な集合論を割り引く不可逆性の同じブランドです。したがって、Coqでは許可されていません。ご存じのように、別の形式の不可逆性許可されています。

Definition Unit : Prop := forall X:Prop, X -> X

命題としてのユニットの定義は、それがメンバーであるすべての命題のコレクションを参照します。しかしながら、幾分私に不明瞭な理由のために、このimpredicativityはないがZFC(の形で中に存在しているように、有害な無限理解矛盾であることが知られていません)。

結論として、定義における帰納的タイプの否定的な発生は、不可逆性の形ですが、CoCを不可避的なフレームワークと呼ぶときに通常言及されるものではありません。


ZFCには無限の理解があると言っているのを理解しています。しかし、その音が間違っ- math.stackexchange.com/q/24507/79293。Chlipalaは議論する際にこれを説明し-impredicative-set、彼の本の中で:adam.chlipala.net/cpdt/html/Universes.html、および除去にはいくつかの制限に言及したが、これは同様に私にあいまいです。
ブレイザーブレード

1
AxBxB

ああ、ありがとう!また、上記の不可解性がZFCの不可解性とどのように一致するかを確認します(ただし、使用しているマッピングはおそらく素朴すぎます)。答えにリンクを追加できますか?
ブレイザーブレード

残念ながら、これはGoogleにとって難しいようです(または正しいキーワードがわかりません)。さらに悪いことに、ウィキペディアとnLabの両方が「制限付き理解」(ZFCのen.wikipedia.org/wiki/Axiom_schema_of_specificationで)と「制限付き/制限付き分離」(リンク先)を区別しています。ncatlab.org/nlab/show/axiom+of+separationを参照してください。しかし、このすべての用語は誤解が起こるのを待っているように見えます。私は通常、あなたと著者mathforum.org/kb/message.jspa?messageID=4492130のように、「分離〜理解」もそうであると考えます。
ブレイザーブレード

たぶん、これらの種類の議論に最適なキーワードは「構成的集合論」です。たとえば、ウィキペディアや、Rathjenによるこの非常に素晴らしい記事を参照してください。
コーディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.