Hottの本では、ほとんどのタイプフォーマーは冗長ですか?もしそうなら、なぜですか?


14

Hottブックの第1章と付録A では、基礎を形成するために、いくつかのプリミティブ型ファミリ(ユニバース型、従属関数型、従属ペア型、連産型、空型、単位型、自然数型、およびID型)が示されていますホモトピー型理論。

ただし、ユニバース型と依存関数型を指定すると、これらすべての他の「プリミティブ」型を構築できるようです。たとえば、Empty型は代わりに次のように定義できます

ΠT:U.T

他のタイプも、純粋なCCの場合と同様に構築できると仮定します(つまり、定義の帰納的部分からタイプを導き出すだけです)。

これらのタイプの多くは、第5章および第6章で紹介されているInductive / Wタイプによって明示的に冗長化されています。しかし、Inductive / Wタイプは、HoTT少なくとも本が出たとき)。

したがって、これらの追加のタイプがプリミティブとして表示される理由について非常に混乱しています。私の直感では、基礎理論は可能な限り最小限に抑える必要があり、冗長な空の型をプリミティブとして理論に再定義することは非常にarbitrary意的です。

この選択はなされましたか

  • 私が知らないいくつかのメタ理論的な理由で?
  • 歴史的な理由で、型理論を過去の型理論のように見せるため(必ずしも基礎的であろうとはしていなかった)?
  • コンピュータインターフェイスの「使いやすさ」のために?
  • 私が知らない証明検索でいくつかの利点のために?

同様:Martin-Löf型理論の最小仕様https://cs.stackexchange.com/questions/82810/reducing-products-in-hott-to-church-scott-encodings/82891#82891


それらは冗長ですが、あなたが提案している方法ではありません。「基盤の最小性」がどのような目的に役立つかを自問する必要があります?そして、目的を気にしますか?
アンドレイバウアー

1
技術的な作業は慣例により最小限であると仮定します。明らかに便利であるか、明示的に記載されている場合、物事は最小限である必要はありません。この本は、他の場所でもこれに準拠しています。たとえば、切り捨ての種類を定義する場合(規則によって定義されますが、最小限ではありません)。たとえば、0、1、10、後続、および電源操作に関して定義されたnatを見た場合、混乱しますが、少なくとも表記上便利な理由はわかりました。Hottは、はるかに複雑な研究​​分野であり、明らかなものが欠けているかどうかを知りたいです。
user833970

1
それらがどのように有害であるかについて、私は非常に興味があります。それについて新しい質問をする必要がありますか?
user833970

1
@AndrejBauerなぜ彼らも有害なのか知りたい。基本的な言語を最小限に抑えるべきだと思う私の理由は、occamの剃刀の背後にある理由です。停止する理由 リスト、文字列、ペア、トリプル、ベクトルも追加してみませんか?それらはarbitrary意的な選択のように思えますが、何がそれらを正当化しますか?編集:この質問には答えがあることに気付いた。しかし、なぜ私もそれに興味があるのか​​を示すために、このコメントをここに残します。
MaiaVictor

1
ブログ記事を書きます。
アンドレイバウアー

回答:


14

空の型の推奨エンコーディングが機能しない理由を説明しましょう。宇宙のレベルについて明確にする必要があります。

人々が「空のタイプ」と言うとき、彼らは次の2つのことの1つを意味するかもしれません:

  1. 単一タイプすべてのタイプに対して空です。このようなタイプには消去ルールがあります。nおよびタイプファミリーA E U nごとに、マップe n AE Aがあります。EnA:EUnen,A:EA

  2. E kが「U kの空のタイプ」であるような、各ユニバースレベルkに対応するタイプファミリー。そのような型は、明らかにE kU kを満たす必要があります。また、すべての型族A E kU kに対して、マップe k AE kAがあります。EkkEkUkEk:UkA:EkUkek,A:EkA

無条件で、人々が「空のタイプ」と言うとき、彼らは上記の最初の意味を期待します。

を取得するにはどうすればよいですか?最初の試行は、E = Π T U )のようなものです。 E しかし、これはまさに混乱を引き起こす敷物の下で一掃するようなものです。明示的なユニバースレベルを書き留める必要があります。E k = Π T U k)のように書くと

E=Π(T:U).T
そして、各レベル kに 1つずつタイプ E 0E 1E 2…のシーケンスを取得します。我々はので、この配列は上記の意味での空のタイプですが、そうではないことを願っていかもしれません Eのkがである UのK + 1が、であることを想定している UのK
Ek=Π(T:Uk).T
E0E1E2kEkうんk+1うんk

もう一つの試みは、

E=ΠnΠTうんnT
ΠnL
E=ΠnLΠTうんnT
EL

うんBうんうんΠバツうんBバツうんうんΠバツうんバツうん

命令的な宇宙を配置することができます。しかし、Thierry Coquandの有名な定理(私が間違っていなければ)は、一方に含まれる2つの不可解な宇宙が矛盾につながることを示しています。

物語の教訓は、空の型を直接公理化し、エンコードを停止することです。


それは空の型を公理化する説得力のある推論ですが、私はまだこれらすべての重いものを公理化する理由について興味があります。
MaiaVictor

@MaiaVictor:何とは対照的に?
アンドレイバウアー

ごめんなさい?特に、空の型を公理化するのが良い考えである理由を納得して正当化したということです。しかし、OPは他のことについても尋ねました:「ユニバースタイプ、従属関数タイプ、従属ペアタイプ、連産型、空のタイプ、ユニットタイプ、自然数タイプ、およびIDタイプ」(これは、 HoTT本)。(明らかに、これらすべてを正当化するように求めているのではなく、単に私の関心を表明しています。)
MaiaVictor

1=バツうんバツバツ

@IngoBlechschmidtは、どんな種類の問題を学ぶことに興味があります!私には良さそうです...
MaiaVictor

15

似ているが明確ないくつかの質問をしている。

  1. HoTTブックがデータ型に教会のエンコードを使用しないのはなぜですか?

    教会のエンコーディングは、2つの理由から、マーティン-ロフ型理論では機能しません。

    nk<n

    第二に、教会のエンコーディングで自然数のようなデータ型を定義したとしても、これらの型で証明を行うには、それらについて証明するための帰納法の原則が必要です。教会の符号化の帰納法の原理を導き出すには、レイノルズのパラメトリック性に基づいた議論を使用する必要があり、パラメトリック性の原理を型理論に内在化する方法の問題はまだ完全に解決されていません。(最新技術はNuyts、Vezzosi、およびDevrieseのICFP 2017論文Dependent Type TheoryのParametric Quantifiersです -これはHoTTの本が書かれたです!)

  2. 次に、基盤が最小限ではない理由を尋ねています。これは実際、型理論的基礎の特徴的な社会学的特徴の1つです。型理論家は、基本的な重要性はあまりなく、小さな規則のセットを技術的な利便性と見なしています。ルールの最小セットではなく、適切なルールセットを持つことがはるかに重要です。

    私たちは数学者やプログラマーが使用する型理論を開発していますが、型理論内で行われる証明が数学者やプログラマーが正しい方法で行われていると見なすものであることは非常に重要です。これは、数学者が一般的に良いスタイルを持っていると考える議論は、通常、研究領域の主要な代数的および幾何学的原理を使用して構成されているためです。複雑なエンコーディングを使用する必要がある場合、多くの構造が失われるか、あいまいになります。

    これが、命題古典論理の型理論的提示でさえ、NANDだけの論理と形式的には同等であるにもかかわらず、常にすべての論理接続詞を与える理由です。確かに、すべてのブール接続詞はNANDでエンコードできますが、そのエンコードはロジックの構造をあいまいにします。


この答えをありがとう!その論文(およびあなたの論文)を読む必要があります。しかし、私は宇宙階層があなたが述語的なことができるように見えるように設計されていると考えました:例えば(λA:U.λa:Aa)(ΠA:UA→A)は(λA:Un +1.λa: Aa)(ΠA:Un.A→A)。これを説明しないのは奇妙な編集上の選択だと思います。私が知っているすべてのロジックブックは、CNF、DNF、NANDなどのような最小限のエンコーディングをいくつか指摘しています。そして、理論を設定するのに慣れている人は誰でも、理論を実証するためにナットの「自然な」エンコーディングを期待しています。しかし、それは単に私の古典的なバイアスかもしれません。
user833970

それは私の最後のコメント
user833970

TうんnTうんnうんn+1うんn

おそらく、私は宇宙階層について何かを誤解しています。タイプがどの特定のユニバースに属しているかは気にせず、証明を検証するときにユニバース番号を割り当てることができるということだけを考えました。技術的には、ΠT:UTは、ユニバース全体にインデックスが付けられたタイプのファミリーです。ポリモーフィックなアイデンティティは、ユニバース全体にインデックスが付けられたタイプのファミリーのようです。しかし、ポリモーフィックなアイデンティティに同じ問題はありませんか?最後の2つの文を拡張できれば、本当に感謝しています。理解できないと思います。
user833970

正しい消去特性がないと言うとき、ユニバースが修正されると、ΠT:Un.Tの項では直接合成できない高次ユニバースのタイプがあることを意味しますか?
user833970
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.