線形論理のカリーハワードアナログとは何ですか?


8

ウィキペディアで定義されているように、

(カリーハワード対応)は、アメリカの数学者ハスケルカリーと論理学者ウィリアムアルビンハワードによって最初に発見された、形式論理と計算計算のシステム間の構文アナロジーの一般化です。

これに関連するのはλキューブです。これは、単純なタイプから構成の微積分への可能な洗練の軸のグラフィカルな表現であり、論理的な解釈があります。

https://upload.wikimedia.org/wikipedia/commons/1/19/Lambda_cube.png

私の知る限り、カリーハワード対応は、型理論と古典論理の関係です。私の質問は、型システムと線形論理の間にアナログの対応があるかどうかです。


「光論理」とはどういう意味ですか?
jmite 2015年

申し訳ありません、@ jmite、つまり線形論理です。
MaiaVictor 2015年

回答:


8

型システム内で同様の要件を課すことができます。つまり、オブジェクトを破棄したり複製したりする必要はありません。実用的なアプリケーションの例については、線形型が世界を変えることができるを参照してくださいこのための入力規則を指定するPhilip Wadlerによる。また、型システムが線形型と非線形型を組み合わせる方法も示しています。

これを実際に適用するにはstd::unique_ptr、C ++を見てください。ここでは、線形性により、割り当て解除が常に1回だけ行われます。

関数型言語では、線形性は破壊的な更新(プログラマには純粋に見える)の可能性も提供します。ただし、実際には、モナドはこの問題を解決するためのより一般的なアプローチのようです。

更新NLabの計算三元論の表で、ロジックに収縮がない(つまり、仮定を複製できない)ことは、量子力学の非クローニング定理に対応していることに気付きました。私は(残念ながら)この意味を理解していませんが、興味深いと思うかもしれません。


1
たとえば一意性タイプを組み込んだイドリスでの実験があります(線形またはアフィンと名付けたほうがいいでしょう。彼らには複数の住人がいる可能性があります!)。
ガレーヌ

1
最後の段落の詳細については、dx.doi.org / 10.1088 / 1742-6596 / 67/1/012045を参照してくださいこの論文の結論セクションには、すばらしい要約があります。
Fizz

8

線形論理は、プロセス計算(内部π計算の変形)の型システムに対応します。ここで、

  • 証明 プロセスに対応します
  • 命題 は、 セッションの種類(通信プロトコル)に対応しています。

これはかなり活発な研究分野です。Girard [1987]による線形論理の開始以来、人々は線形論理といくつかの同時実行モデルの間の対応を期待していましたが、論理モデルと同時実行モデルの両方の観点から満足できる何かを見つけることはややとらえどころのないものでした。

これまでの主な進展の要約を以下に示します。

  • ABABAB(必要に応じてペア)、そしてチャネルはもう使用しないでください。重要なアイデアは、線形論理のカットルールを使用して、プライベートチャネルを介して通信する2つのプロセスの並列実行を入力できるということです。線形ロジックのカットルールによって実行される二重性チェックは、2つのプロセスが共有プライベートチャネルを互換性のある方法で使用していることをチェックすることに対応します。
  • 双対性のアイデアは、プロセス計算のいくつかのタイピング分野、特に線形タイプとセッションタイプにも影響を与えましたが、線形ロジックへの直接リンクは失われました。特にホンダによるセッションタイプ[1993]は、通信プロトコルについて説明しており、その適用性はすぐに明らかになりました。このアイデアは研究領域を生み出しました。
  • ABAB
  • Wadler [2014]は、従来の線形論理のセッションタイプとの対応を再定式化し、関数型言語のセッションタイプの標準的な表現と線形論理の間の最初の接続を形式化しました。
  • P|Q

始めるためにいくつかの論文を探しているなら、私は[Wadler、2014]から始め、次に[Kokke et al。、2019](最新のシステムを見る)から始めます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.