型チェックの決定可能性、入力可能性の決定可能性、および強い正規化の関係


8

ヨ!これはおそらくばかげた質問ですが、たとえば、型チェックの決定可能性が強力な正規化プロパティと同等である場合、明示的に書き留められたことはありません。したがって、私はこの質問をして、型チェック、型付け可能性、および強力な正規化の間のすべての可能な関係を明らかにします。

やる気を説明させてください。型理論(私はここでは意図的に曖昧にしていますが、主に依存型理論に興味があります)では、強い正規化を使用して型チェックの決定可能性を証明しています。反対に、これらのプロパティの1つを持っていることがわかっている型指定されたシステムには、もう1つのタイプもあります。ただし、強い正規化が型チェックの決定可能性に相当することを明示的に述べたことはありません。

同様に、タイプ可能性を証明するために、通常(多分常に)、用語を正規形に減らします。しかし、型付け可能性は依存型の理論には当てはまらないことはわかっていますが、強い正規化が保持される場合があります。

型チェックの決定可能性とは、特定の型、コンテキストおよび型なし項、がtrueでかどうかを有限数のステップで決定できることを意味します。A Γ A AΓaΓa

タイプ可能性の決定可能性と、特定の型なし用語、がtrueになるようなコンテキストとタイプが存在するかどうかを有限数のステップで決定できることを意味します。Γ A Γ AaΓΓa

1)型チェックの決定可能性は、すべての項が強く正規化可能であることと同じですか?

2)より一般的には、型チェックの決定可能性、タイプ可能性、強力な正規化の関係は何ですか?どちらが他を意味するのですか?

前もって感謝します。

編集

私の質問の一般性のレベル(私は知らなかった)に関する不満を考慮して、純粋なタイプシステムのみに限定したいと思います。もちろん、他のタイプ理論に関する追加のコメントや反例は非常に有用です。


4
何の制限もありませんか?すべての用語にすべての型がある平凡な型システムを使用するとどうなるでしょうか。これは簡単に決定できますが、正規化することはできません。一般に、型システムにより多くの制約が課されない限り、引用する概念の間には関係がない可能性があると私は恐れています。
2017

@chiごめんなさい。型付きシステムの定義の一般性のレベルを知りませんでした。私が頭に浮かんだのは、宇宙を伴うマーティン・ロフ(拡張)型理論の断片のようなものでした。したがって、私は純粋な型付きシステムが私の質問の正しい範囲になると信じています。
user40276

拡張延期が決着したとはどういう意味ですか?リンクはもう利用できません。これまでの私の理解は、PTSのサブクラス(私が思うにセミフル)に当てはまることが知られているということですが、それでも一般的なケースのオープンな推測です。
Saroupille

回答:


12

より技術的に:これらの質問に対する優れた技術的フレームワークは、正規化型チェックの決定可能性を意味するPure Type Systemsの設定です。結果は、民間伝承ですが、変換ルールをいつ適用するかの戦略を見つける必要があるため、自明ではありません。明らかな戦略は、アプリケーションルールのすべてのアプリケーションの前に、推論された型を正規化することです。ここにもいくつかの微妙な点があります。拡張延期と呼ばれる自然な(より効率的な)戦略の正当性はしばらくの間オープンでしたが、それ以来解決されました。

正規化されているが決定できないタイプシステムがあります。最も顕著なのは、 は、正規化用語を正確に入力する交差タイプをため、決定できない必要があります(それ以外の場合は、正規化用語の識別に使用できるため)。ここでは、システムがタイプ指定されていない、つまり用語にタイプを理解するのに十分な情報が含まれていないという意味でシステムに欠陥があると言いたくなるかもしれません。

TypeTypeん。マーティン・ロフシステム!このケース、任意の計算を記述できるループコンビネーターの例を示すことで解決されました。

しかし、一般的な問題は、広く真実であると考えられている、といくつかの部分的な結果は、例えば、この方向で示されているものの、まだ一般的な純粋な型システムのために開いているここ


ご回答有難うございます。入力可能性の決定可能性についてはどうですか?
user40276

1
@ user40276これはかなり異なる質問です。抽象化に注釈を付けると、型付けと型推論は同様に困難になります。:注釈がなければ、物事は関係なく、終了、としてここでの回答で説明し、ほとんどすぐに決定不能取得cs.stackexchange.com/questions/12691/...
コーディ

4

(1)誤り。反例:Java、Scala、Haskell、...

(2)一般的な関係は成立せず、実際には言語/タイピングシステムの詳細に依存します。例外が1つあります。まともな言語とタイピングシステムの場合、型推論の決定可能性(これは、「タイプ可能性」という意味だと思います)は型チェックをほのめかしていると思います。しかし、その意味合いさえも成り立たないクレイジーなシステムを作り出せたとしても、私は驚かないでしょう。


ご回答有難うございます。タイプ可能性とは、用語がそのタイプに属するようなタイプを見つけるプロセスであり、これらのタイプすべてではありません。
user40276

これは、型推論の従来の概念とどのように関連していますか?
Martin Berger、

決定可能な型推論が決定可能な型チェックを伴わない特定の例:ランク2の多形ラムダ計算。この言語には推論アルゴリズムが存在しますが、型シグネチャを追加しても安定しません。つまり、Γ⊢a:AがΓ⊢(a :: A):Aを伴うことはありません。ここでは、オブジェクト言語の "a has type A"の表現に::を使用しています。したがって、我々はAを推測できるにもかかわらず、我々は常にA.に対してチェックすることはできません
ロマーノレン

@wrenromano興味深い。システムFには決定不能な推論とチェックがあり、ランク2の多形ラムダ計算は(一種の)サブシステムです。この現象のリファレンスはありますか?
マーティンバーガー2017年

ごめんなさい。私が書いたように私のコメントは間違っています、それは「タイプ可能性とは、特定の用語がそのタイプに属し、これらすべてのタイプではないようなタイプを見つけるプロセスを指す」ということです。タイプ推論の決定可能性は、タイプ可能性の決定可能性を意味します。相互主張が成り立たないことはほぼ間違いないが、反例は知らない。
user40276
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.