カリーハワード同型における並列または並行プログラムの現在の状態は何ですか?


9

ギラードの証明と型で、次のように読むことができます。

アルゴリズムの観点から見ると、同じ証明を書く方法が多数あるため、シーケンシャル微積分にはカリーハワード同型はありません。これにより、型付けされた計算としてそれを使用できなくなりますが、この種のいくつかの深い構造を垣間見ることができます。λ

プルーフとタイプ、JYジラード(ページ28)

しかし、(線形論理について)それを読むこともできます

コンピュータサイエンスの観点からは、並列処理への有望なアプリケーションを使用して、遅延、副作用、メモリ割り当ての問題に新しいアプローチを提供します[GirLaf、Laf87、Laf88]。

証明とタイプ、JYギラード(ページ149、Yves Lafont著)

並列プログラムはどのようにしてカリーハワード同型にリンクされていますか?それについての現在の考えは何ですか?

回答:


7

同時ロジカルフレームワークは同様に、その子孫を含む1つの興味深い分野であるリニアメルドLolliMon。これは直観的な線形論理に基づいています。

古典的な線形論理は、結果をカリーハワード型の結果として明示的に記述する線形化学抽象マシンに基づく相互作用ネットの計算などで説明されている線形化学抽象マシン(CHAM)に接続しています。

λμ

とにかく、これはまだ活発な研究分野です。このトピックに関する最近の多くの論文があります。上記では、分離ロジックのさらに下位の側面と、命令型プログラミング言語に焦点を合わせた対応するHoare型理論については触れていません。たとえば、以前の作業で参照を追跡できるトランザクション並行性のタイプ理論的セマンティクスに向かっています。

(少し注意深い話として、これらのほとんどは並列性そのものではなく、並行焦点を当てています。)


OK。質問のタイトルを編集して、もう少し幅を広げました。同時実行がカリーハワードにリンクしていることを知りませんでした。しかし、並列性はどうですか?
ボリス

Curry-Howardの関数型プログラミングビューでは、(純粋な)並列処理は証明の書き換えのレベルで発生し、通常はそれがたくさんあります(複数の再実行がある場合はいつでも)。Haskellのようなアノテーションを追加してparそれを制御することもできます(つまり、デフォルトでより並列化されていない縮小順序を使用して、選択的に並列化することができます)が、論理的な意味はありません。
Derek Elkinsが

4

一般的に同時実行性については、非常にアクティブな研究ラインがあります。この回答にまとめようとしました:https : //cs.stackexchange.com/a/102711/98901

以下に、並列処理に関するコメントを追加します。


Avron [1996]は、ハイパーシーケントの概念、つまり判断におけるシークエントのコレクションを導入しました。

GHG|H|PQGHP|QPQG|H

これの意味論的解釈の表面をスクラッチし始めたばかりですが、これが並列性であることはかなり明白です:並列合成の意味論は両方のプロセスからの同時アクションを見ることができ、どちらにもないという定理があります。 2つのプロセスは、もう一方のプロセスが少なくともいくつかのアクション(準備定理)を実行するのを待つ必要があります。3つ以上のアクションを同時に拡張するのは簡単なようです。(タイピングはすでにそれを可能にしますが、その論文のセマンティクスはそれを十分に活用していません。)

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