前の記事「関係(非決定性写像)に関する用語」で、関係に関する用語をまとめました。既存用語の流用で、整合性のある用語法を構成できました。この記事は続きです。
関係に関する記法(記号的な書き方)はどうでしょうか? 既存記法の流用で、整合性のある記法を構成できるでしょうか? どうも、単一の記法にまとめ上げるのは難しいようです。複数の記法を用途に応じて使い分けることになりそうです。$`\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\hyp}{\text{-}}
\newcommand{\Imp}{\Rightarrow}
\newcommand{\Iff}{\Leftrightarrow}
`$
内容:
演算記号、関係記号
「関係(非決定性写像)に関する用語」において、次のようなモノ(概念的事物)は互いに移りあえると言いました。
- 関係: 直積集合の部分集合
- 非決定性写像: ベキ集合への関数(部分集合が値となる関数)
- ブール値係数の行列 : 成分が 0(偽)か 1(真)である行列
- 二項述語 : 二変数のブール値関数
これらは事実上同じモノですが、由来・出自が違います。モノに対して演算を施す場合でも、使われる演算記号は由来により違います。足し算と掛け算に相当する演算記号でも、集合由来、論理由来、算術由来では次の違いがあります。
集合由来 | 論理由来 | 算術由来 |
$`\cup`$ | $`\lor`$ | $`+`$ |
$`\cap`$ | $`\land`$ | $`\cdot`$ |
この対応表をもう少し伸ばしてみましょう。ベキ集合 $`\mrm{Pow}(X)`$ または述語集合 $`\mrm{Map}(X, {\bf B})`$ における演算や関係を表す記号達です。
集合由来 | 論理由来 | 算術由来 |
$`\cup`$ | $`\lor`$ | $`+`$ |
$`\cap`$ | $`\land`$ | $`\cdot`$ |
$`\bigcup`$ | $`\exists`$ | $`\sum`$ |
$`\bigcap`$ | $`\forall`$ | $`\prod`$ |
$`\Imp`$ | $`(\hyp)^{(\hyp)}`$ | |
$`(\hyp)^c`$ | $`\lnot`$ | |
$`\subseteq`$ | $`\vdash`$ | $`\le`$ |
3行目は「たくさんの足し算」、4行目は「たくさんの掛け算」です。5行目に抜け(空欄)があるのは、論理の含意記号('$`\Imp`$')に相当する集合演算記号がないからです。集合の包含記号('$`\subseteq`$')は対応しません! このことについては次の記事を参照してください。
6行目(下から2行目)にも空欄があるのは、補集合/論理否定にうまく対応する算術記号が見つからないからです。
関係の計算をする場合は、原則として“集合由来”の記号を使うことにします。$`X, Y`$ を集合として、$`\mrm{Rel}(X, Y) = \mrm{Pow}(X\times Y)`$ を“$`X`$ から $`Y`$ への関係”の集合とします。$`R, S\in \mrm{Rel}(X, Y)`$ として次のような書き方を採用します。
- $`R`$ と $`S`$ の合併(足し算): $`R\cup S`$
- $`R`$ の補集合(否定): $`R^c`$
- $`R`$ と $`S`$ のあいだの包含(順序): $`R\subseteq S`$
この記法は、関係を集合として素直に解釈するだけなので楽ちんです。
ところで、集合の包含〈inclusion〉を表す記号 '$`\subseteq`$' は関係記号ですが、関係のあいだの関係になっています。'$`\subseteq`$' で表す関係がいったいどこに居るかというと、次の集合のなかに居ます。
$`\quad \mrm{Rel}( \mrm{Rel}(X, Y), \mrm{Rel}(X, Y))`$
関係の直積(テンソル積)と結合
$`X, Y, Z, W`$ が集合で、$`R\in \mrm{Rel}(X, Y)`$、$`S \in \mrm{Rel}(Z, W)`$ とします。このとき、$`R\cup S`$ は意味がない(計算できない*1)かも知れません。域・余域が異なる関係のあいだにも定義できる演算として、関係の直積〈direct product〉があります。それは次のように定義します。
$`R\times S := \{ ( (x, z), (y, w) ) \in (X\times Z)\times (Y\times W) \mid
(x, y)\in R \land (z, w)\in S \}`$
この定義から、$`R\times S \in \mrm{Rel}(X\times Z, Y\times W)`$ です。
$`R\times S \subseteq (X\times Y)\times (Z\times W)`$ ではなくて、$`R\times S \subseteq (X\times Z)\times (Y\times W)`$ と順番を入れ替えています。この点において、関係の直積は、単なる集合の直積とは微妙に違います。この微妙な違いを強調するために、$`R\otimes S`$ と書くこともあります。
$`\text{For }R \in \mrm{Rel}(X, Y)\\
\text{For }S \in \mrm{Rel}(Z, W)\\
\quad R\otimes S \in \mrm{Rel}(X\times Z, Y\times W)`$
'$`\otimes`$' を使ったほうが誤認・混乱を避けられると思います。呼び名も変えて、関係のテンソル積〈tensor product〉と呼ぶことがあります。
$`R \in \mrm{Rel}(X, Y)`$、$`S\in \mrm{Rel}(Y, Z)`$ のときは、$`R, S`$ を結合〈合成 | compose | composition【名詞】〉できます。これは非決定性写像の結合であり、写像〈関数〉の結合と整合します。その定義は次のようです。
$`R ; S := \{ (x, z)\in X\times Z \mid \exists y\in Y.\, (x, y)\in R \land (y, z)\in S \}`$
この定義から、$`R ; S \in \mrm{Rel}(X, Z)`$ です。
写像の場合と同様に、結合には反図式順記号 $`\circ`$ も使います。
$`\quad S\circ R := R;S`$
写像の逆写像はいつでも在るとは限りませんが、関係の転置〈transpose〉は常に作れます。
$`\text{For }R \in \mrm{Rel}(X, Y)\\
\quad R^t \in \mrm{Rel}(Y, X)`$
常に転置が作れることが、写像より関係が便利な点のひとつです。
恒等写像に対応する恒等関係〈identity relation〉は、習慣により $`\Delta_X`$ と書くことが多いです。
$`\quad \Delta_X \in \mrm{Rel}(X, X)`$
これは、恒等関係が(集合として)対角集合になるからです。
$`\quad \Delta_X = \{ (x, x')\in X\times X \mid x = x' \}`$
その他の記法
関係を実際に/具体的に計算するときは、行列・テンソル記法が便利です。$`R \in \mrm{Rel}(X, Y)`$ をブール値係数行列とみなした上で、上下の添字〈インデックス〉を使った成分記法で、次のように書きます。
$`\quad R = (R_x^y)_{x\in X}^{y\in Y} = (R_x^y)`$
上下2つの添字だけではなくて、もっとたくさんの添字をあやつるテンソル計算の技法があります。テンソル計算を使うときは算術由来の記法が相性がいいでしょう。
ときに、真偽値や述語のような論理的概念を使って関係を解釈したいときもあります。そのときは論理由来の記法がふさわしいでしょう。
というわけで、原則として“集合由来”の記号を使うにしても、その他の記法に切り替える必要も出てきます。柔軟に対応しましょう。
*1:集合の宇宙のなかの大域的合併の計算は常にできますが、集合束のジョイン演算は、同じ集合の部分集合どうしでないとできません。