Agdaメーリングリストの最近のスレッドで、法則の問題が浮かび上がり、そこでPeter Hancockが示唆に富む発言をしました。
私の理解では、法則には負のタイプがあります。導入規則が可逆的である接続詞。関数のを無効にするために、ハンクは、通常のアプリケーションルールの代わりに、カスタムメイドのエリミネーターfunsplitを使用することをお勧めします。極性の観点からハンクの発言を理解したいと思います。
たとえば、 -typesという2つのプレゼンテーションがあります。ポジティブなスタイルの伝統的なMartin-Löf スプリットエリミネーターがあります。
そして、ネガティブバージョンがあります:
この後者のプレゼンテーションにより、ペアのを簡単に取得できます。(は任意のペア(==は定義の等式を表します)。証明可能性の観点では、この違いは重要ではありません。直感的に、分割を使用して投影を実装することも、その逆も可能です。
現在、 -typesは通常否定的です(そして議論の余地なく、私は信じています)。
これにより、関数の\ eta xが得られます。fx == f。
ただし、そのメールでは、ハンクはfunsplitエリミネーターを思い出します(ML型理論でのプログラミング、[http://www.cse.chalmers.se/research/group/logic/book/]、p.56)。論理フレームワークでは、次のように記述されています。
興味深いことに、ノードストローム等。「[この]代替の非正準形は構造誘導の原理に基づいている」と言って、この定義を動機付けます。このステートメントには強い肯定的な匂いがあります。関数は、コンストラクター\ lambdaによって「定義」されます。
ただし、自然の演in(または、さらに良いことに、逐次計算)でその規則を十分に表現することはできません。ここで、を導入するための論理フレームワークの(悪用)が重要であると思われます。
それで、funsplitは -typesのポジティブなプレゼンテーションですか?(非依存)シーケント計算でも同様のことがありますか?それはどのように見えるでしょうか?
その分野の証明理論家にとって、それはどれほど一般的/好奇心が強いですか?