私の経験では、 -calculi の型の双対性を理解するための適切で実用的な方法は、π -calculusを使用することです。λπ
型をプロセス計算に変換(分解)すると、双対性が単純になります。入力は出力に対して二重であり、逆も同様です。双対性には(大したことではありません)。
πα=(Bool,Int)↑ααxx¯¯¯⟨false,7⟩α¯¯¯(v,w)vwα¯¯¯(bool,int)↓α¯¯¯xc(v,w).0
β=(int,(int)↑)↓(v,w)vwβ¯¯¯=(int,(int)↓)↑αα¯¯¯PαxQα¯¯¯xPQββ¯¯¯
∀X.(X,(X)↑)↓(v,w)vXwXx
x(vw).w¯¯¯¯v
∀X.(X,(X)↑)↓
プロセスレベルでの普遍的な定量化とは何ですか?単純な解釈があります:データが型変数によって型付けされた場合、データを出力の対象として使用することはできず、オブジェクトのみとして使用できます。そのため、このデータを検査することはできません。ただ渡すか、または忘れることしかできません。
∀X.(X,(X)↑)↓∃X.(X,(X)↓)↑
この理論は、[1、2、3]で詳細に説明されており、アクセスが困難な他のいくつかの作業で、偏光線形論理と4の双対性の概念に非常に正確に関連しています。
λλπλπλ
π
π
π
4 K.ホンダら、型付けされたパイ計算偏プルーフネットとの間の正確な対応。
5 R.ミルナー、プロセスとして機能。