ほとんどの依存型付きシステムには、帰納型の厳密な陽性条件があります。条件違反がシステムの不整合につながる例を誰かが知っていますか?
ほとんどの依存型付きシステムには、帰納型の厳密な陽性条件があります。条件違反がシステムの不整合につながる例を誰かが知っていますか?
回答:
厳密な陽性を緩和し、一貫性を保つことは実際に可能です。たとえば、陽性の条件のみがあれば十分です。つまり、次のような型定義を受け入れることができます
再帰型の変数は、偶数の矢印の左側にあり、一貫性を保持しています。
ただし、この種の帰納型を許可する理論には、セット理論モデルはありません。タイプをセットとして、用語をセットの要素として解釈することはできません。この場合、はその倍力セットと同型(つまり)であり、これはCantorの定理に違反しています。T ≃ P(P(T ))
依存型理論は数学を形式化するためによく使用されるため、設計者は通常、たとえ一貫しているとしても、セット理論のセマンティクスと互換性のない原理を追加することをためらいます。
編集:アンドレジュの質問に答えて、この編集を追加しています。タイプは、(たとえば)Agdaに追加すると一貫性があります。全く問題ありません。非厳密な陽性と除外された中間を組み合わせる場合にのみ問題があります。
安全である理由の直感は、パラメトリック性のレンズを通して(IMO)を最もよく見ることができます。システムFでは、パラメトリック性を使用して、定義可能なファンクターに対して、タイプは確かに誘導型です。μ F ≜ ∀ α 。
ここで、定義可能なファンクターは、型演算子と演算子組み合わせたものである ことを思い出してください functtoriality条件を満たす(ie and)。F :* → * M A P:∀ α 、β 。M A P
これで、ダブルパワーセットのタイプ演算子を定義できます
また、は正にのみ発生するため、マップ演算子を定義することもできます。
したがって、は正当な帰納型であることがわかります。