このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

上江州計算の課題

「モナドと上江州拡張」にて:

モナドのKleisli圏と上江州拡張はなんらかの関係があるってことだな。

項(Term)モナドと上江州拡張の関係をハッキリさせる -- これ課題。

方針としては、まず、項モナド(実際は、モナドのKleisli圏)を、[0]={}, [1]={1}, [n]={1, ..., n}に制限する。T([n]) = T(n)とすると、モナドN上で定義されたように見える。Nを対象類とする圏はPROだかPROPだかと呼ぶようだ(オペラッドの説明でこの用語見たことがある)。Klesili圏はN上に定義されるPRO(だか?)だな。

変数集合とみなした[n]に、Cによる型付けを与えることは、写像[n]→|C|を与えることになる。シェープ圏としてのPROを、ワイヤーフレームとかワイヤークラフト圏と呼ぶといいような気がする。指標Σはワイヤーフレーム圏を装飾する。ワイヤーだけを修飾すると変数なしの項、頂点/ドット(ワイヤーの接合点)も修飾すると変数ありの項、ってことだろう。記号回路(シンボリック・サーキット)って概念とも整合しそうだ。

変数なしの項の圏は、多圏=構文的圏とも見なせる。構文的多圏から値/実体の圏Cへの意味写像は“C上での、計算(の意味)”を与えるのだろう。

うーん、まだ曖昧、混沌だ。ともかく、キモは、N上に制限されたモナド/Kleisli圏だと思う。変数の圏VにNを埋め込めば、それが上江州拡張と対応しそうだ。位置引数とか番号(無名)変数とかde Bruijnインデックスとかも関係するはず。

他の課題も列挙:

  • ωCPOの上で、λ、μ、τを含む上江州計算を実行する。
  • XMLの構文モジュールの計算にλμτ(ラムダ/ミュー/タウ)を含んだ上江州計算を使ってみる。大きなラムダ=上江州抽象も使ってみる。この計算のなかで固有指標Σの意味を考える。
  • ωCPOでは不等式が意味を持つので、不等式を使ってみる。
  • ωCPOの等式的な側面は、トレース付きデカルト閉圏(TrCCC)として定式化できるから、TrCCC上で上江州計算をしてみる。
  • ωCPOの不等式的側面は、次元2以上の圏のlax/oplax計算になるだろうから、それを探る。