動物論理〈animal logic〉のリーズニングとは、動物知データベースに蓄えられた経験則に対する操作のこと。経験則は、動物シーケントにマルコフテンソルを割り当てたデータとして保存されている(と想定する)。知的動物は、動物知データベースから幾つかの経験則を取り出して、それにリーズニングを施して何らかの知的判断をする(と想定する)。
したがって、リーズニングはマルコフテンソルに対する操作〈オペレーション | 演算〉となる。マルコフテンソルに対する演算は色々あるが、計算途中で使われる演算にアダマール積がある。
アダマール積は、テンソルの成分ごとに掛け算するだけなので、任意の拡張テンソル(圏XTensの射 「マルコフ・テンソルに関連する圏達」参照)に対して定義できる。総和を取らないので、集合が有限集合である必要もない。ただし、“どこを”掛け算するかの指定をテキストでおこなうのは難しい。ストリング図を使えば一目瞭然。
上のストリング図(もどき)に出現する3つのテンソルのプロファイルは
テンソルの実体である関数のプロファイルは
ラムダ記法で関数を書けば
ラムダ記法を一部省略すれば
以上でセットアップは済み。
一番のアダマール積をした結果を とすると、次のように書ける。
ニ番のアダマール積をした結果を とすると、次のように書ける。
次に、アダマール積を実行するタイミングを変える。
三番のアダマール積をした結果を とすると、次のように書ける。
四番のアダマール積をした結果を とすると、次のように書ける。
先ほどと結果は等しい ので、ある種の“結合律”は成立しているのだが、結合律の一般的な形式をテキスト記法で書き下すのはだいぶ面倒。
ストリング図(もどき)の XyJax ソース。書くの大変なんよ、コレ。
\xymatrix{ % 1 *{} %1 & *{}\ar[d\]^A %2 & *{} %3 & *{} %4 & *{} \ar[d\]^E %5 & *{} %6 \\ % 2 *{} %1 & *++[o\][F\]{x} \ar[ddddl\]_B \ar@{-}[d\] \ar[ddddr\]_D %2 & *{} %3 & *{} %4 & *++[o\][F\]{y} \ar[ddl\]_C %5 & *++[o\][F\]{z} \ar[dddl\]_C%6 \\ % 3 *{} %1 & *{} \ar[drr\]^C %2 & *{} %3 & *{} %4 & *{} %5 & *{} %6 \\ % 4 *{} %1 & *{} %2 & *{} %3 & *{\ast\:\mbox{(1)}} \ar[dr\]^C%4 & *{} %5 & *{} %6 \\ % 5 *{} %1 & *{} %2 & *{} %3 & *{} %4 & *{\ast\:\mbox{(2)}} \ar[d\]^C%5 & *{} %6 \\ % 6 *{} %1 & *{} %2 & *{} %3 & *{} %4 & *{} %5 & *{} %6 \\ } \xymatrix{ % 1 *{} %1 & *{}\ar[d\]^A %2 & *{} %3 & *{} %4 & *{} \ar[d\]^E %5 & *{} %6 \\ % 2 *{} %1 & *++[o\][F\]{x} \ar[ddddl\]_B \ar@{-}[d\] \ar[ddddr\]_D %2 & *{} %3 & *{} %4 & *++[o\][F\]{y} \ar[dr\]_C %5 & *++[o\][F\]{z} \ar[d\]_C%6 \\ % 3 *{} %1 & *{} \ar[ddrrr\]^C %2 折れ線 & *{} %3 & *{} %4 & *{} %5 & *{\ast\:\mbox{(3)}} \ar[ddl\]^C%6 \\ % 4 *{} %1 & *{} %2 & *{} %3 & *{} %4 & *{} %5 & *{} %6 \\ % 5 *{} %1 & *{} %2 & *{} %3 & *{} %4 & *{\ast\:\mbox{(4)}} \ar[d\]^C%5 & *{} %6 \\ % 6 *{} %1 & *{} %2 & *{} %3 & *{} %4 & *{} %5 & *{} %6 \\ }