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

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

指標 ≠ コンピュータッド

今まで、指標はコンピュータッドの同義語としてきたが、どうも違う。その違いは指標は名前(ラベル)があること。単なるグラフとラベル付きグラフの違い。

2つの指標をとると、まったく無関係とは限らない。ラベリングによって、必然的にスパン構造=貼り合わせデータが付随する。名前構造によって定義されるベースコンピュータッドがあって、指標はベースコンピュータッドへのラベリングを一緒に考えたものだ。

指標の和(マージ)が、絶対的な直和ではなくて、余ファイバー和になってしまうのは、最初からラベリングから定義される貼り合わせデータを伴うからだ。ただし、相対コンピュータッドの圏=特定の名前構造のオーバー圏においては、余ファイバー和が直和になる。

多引数のトランスフォーマーを考えるとき、複数の引数が独立な直和としてマージされうのではなくて、余ファイバー和で合成される。これも、指標が常に貼り合わせ構造を伴うからだ。

指標のマージと貼り合わせ構造を明示するために、次のような表現を使えば良いかもしれない。

signature S := {type X}
signature T := {value e:X, function f:X->X}

// S と T をマージすると

signature {
  type S.X;
  tyep T.X;
  value T.e: T.X;
  function T.f: T.X -> T.X;
  synonym S.X = T.X
}

とりあえず、指標名で修飾(接頭辞付け)して直和を作る。synonym宣言が貼り合わせデータを与える。結果的に、

signature {
  tyep T.X;
  value T.e: T.X;
  function T.f: T.X -> T.X;
}

となる。修飾子(接頭辞)Tは無意味なので取ってもよい。