ほんとに基本的な同型

ほんとに基本的なんだけど、納得も利用もなかなかに難しいようだ。が、ほんとに基本的なんだから納得してくれ。ほんとに基本的な同型による対応は、場合により同一視に使われる。$`\newcommand{\mrm}[1]{ \mathrm{#1} }
\newcommand{\In}{\text{ in }}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\u}[1]{\underline{#1}}
\newcommand{\o}[1]{\overline{#1}}
\newcommand{\hyp}{\text{-} }
`$

内容:

同型

約束:

  1. 大文字は集合
  2. $`{\bf B}`$ は二値真偽値の集合
  3. $`{\bf 1}`$ は特定された単元集合、ここでは $`{\bf 1} = \{*\}`$ とするが、唯一の要素は何でもいい。
  4. $`\mrm{Pow}_{\lt \infty}(\hyp)`$ は、有限(基数が $`\infty`$ 未満)な部分集合の集合
  5. $`\mrm{Pow}_1(\hyp)`$ は、単元(基数がちょうど $`1`$)な部分集合の集合
  6. $`\mrm{finSupp}, \mrm{singSup}`$ は次節で説明

同型:

  1. $`\mrm{Pow}(X) \cong \mrm{Map}(X, {\bf B})`$
  2. $`\mrm{Map}({\bf 1}, Y) \cong Y`$
  3. $`\mrm{Pow}({\bf 1}) \cong \mrm{Map}({\bf 1}, {\bf B}) \cong {\bf B}`$
  4. $`\mrm{Pow}_{\lt \infty}(X) \cong \mrm{Map}_\mrm{finSupp}(X, {\bf B})`$
  5. $`\mrm{Pow}_1(X) \cong \mrm{Map}_\mrm{singSupp}(X, {\bf B})`$
  6. $`\mrm{Pow}_1(X) \cong X`$

納得できるかどうかは、「集合、要素、関数〈写像〉、二値真偽値」という概念を理解してるかどうか? による。必要なら「集合、要素、関数〈写像〉、二値真偽値」を最初から復習。

関数のサポート集合

$`R`$ は半環とする。半環だからゼロ $`0 \in R`$ がある。半環*1への関数 $`f`$ に対して、そのサポート集合(あるいは単にサポート) $`\mrm{Supp}(f)`$ を定義できる。

$`\text{For }f\in \mrm{Map}(X, R)\\
\quad \mrm{Supp}(f) := \{x\in X \mid f(x) \ne 0\}
`$

  • サポートが有限集合である関数を有限サポートな関数と呼ぶ。
  • サポートが単元集合である関数を単元サポートな関数と呼ぶ。
  • $`\mrm{Map}_\mrm{finSupp}(X, R)`$ : 有限サポートな関数の全体
  • $`\mrm{Map}_\mrm{singSupp}(X, R)`$ : 単元サポートな関数の全体

$`\mrm{Supp}`$ 自体のプロファイルは:

$`\quad \mrm{Supp} = \mrm{Supp}_{X, R} \;: \mrm{Map}(X, R) \to \mrm{Pow}(X) \text{ in }{\bf Set}`$

もし、パイ型を知っているならば:

$`\quad \mrm{Supp} \in \prod_{R\in |{\bf Semiring}|} \prod_{X\in |{\bf Set}|} \mrm{Map}( \mrm{Map}(X, R) , \mrm{Pow}(X))`$

同型を与える写像(左右両方)

同型を与える写像も具体的に書き下せないと困る。

部分集合から述語

◎$`\quad \mrm{Pow}(X)\ni A \mapsto (\lambda\, x\in X.(\, x\in A\,)) \in \mrm{Map}(X, {\bf B})`$

$`\lambda\, x\in X.(\, x\in A\,)`$ を、部分集合 $`A`$ の指示関数〈indicator function〉と呼ぶ。

ギリシャ文字カイを使って $`\chi_A`$ と書くのが習慣、したがって:

◎$`\quad \mrm{Pow}(X)\ni A \mapsto \chi_A \in \mrm{Map}(X, {\bf B})`$

述語から部分集合

◎$`\quad \mrm{Map}(X, {\bf B}) \ni p \mapsto \{x\in X\mid p(x)\} \in \mrm{Pow}(X)`$

述語から、その外延である部分集合。外延を作るのが内法的記法

ポインティング関数から要素

◎$`\quad \mrm{Map}({\bf 1}, Y) \ni \beta \mapsto \beta(*) \in Y`$

ポインティング関数は、いわゆる「引数が無い関数/引数を持たない関数」。だが、引数はあるからね。$`\beta(*)`$ を $`\beta()`$ と略記する習慣があるだけ。

要素からポインティング関数

◎$`\quad Y \ni b \mapsto (\lambda\, u\in {\bf 1}.\, b) \in \mrm{Map}({\bf 1}, Y)`$

$`\lambda\, u\in {\bf 1}.\, b`$ を、$`b^\sim`$ と略記すると:

◎$`\quad Y \ni b \mapsto b^\sim \in \mrm{Map}({\bf 1}, Y)`$

単元集合の部分集合、真偽値ポインティング関数、真偽値

$`X = {\bf 1}`$ と置いて、$`\mrm{Pow}(X) \cong \mrm{Map}(X, {\bf B})`$ と $`\mrm{Map}({\bf 1}, Y) \cong Y`$ を組み合わせれば:

$`\quad \mrm{Pow}({\bf 1}) \cong \mrm{Map}({\bf 1}, {\bf B}) \cong {\bf B}`$

が出る。同型を与える写像も結合〈合成〉すればよい。

有限部分集合から有限サポート述語

対応は、部分集合から述語と同じ。有限部分集合の指示関数は有限サポート関数(述語)になる。

有限サポート述語から有限部分集合

対応は、述語から部分集合と同じ。有限サポート述語の外延は有限部分集合になる。

単元部分集合から単元サポート述語

対応は、部分集合から述語と同じだが、単元サポート述語はデルタで書くのが習慣。

◎$`\quad \mrm{Pow}(X)\ni \{a\} \mapsto \delta_a \in \mrm{Map}(X, {\bf B})`$

ここで:

$`\quad \delta_a = \lambda\, x\in X.\, \mrm{eq}_X(a, x)`$

もっと簡略に書けば:

$`\quad \delta_a = \lambda\, x\in X.(\, a = x\,)`$

ニ変数のデルタ(オーバーロード)との関係は:

$`\quad \delta_a(x) = \delta(a, x)`$

当然ながら:

$`\quad \delta_a = \chi_{\{a\}}`$

単元サポート述語から単元部分集合

対応は、述語から部分集合と同じ。単元サポート述語の外延は単元部分集合になる。

単元部分集合から要素

◎$`\quad \mrm{Pow}_1(X)\ni A \mapsto \varepsilon\, A \in X`$

$`\varepsilon`$ はヒルベルトのイプシロン記号。一般に、$`\varepsilon`$ は集合から要素を超越的無作為に取り出すオペレーターだが、単元集合なら結果が一意的。

要素から単元部分集合

◎$`\quad X \ni a \mapsto \{a\} \in \mrm{Pow}_1(X)`$

*1:実際には、(役割り名で)“ゼロ”と呼ばれるなんらかの要素が特定されていれば、必ずしも半環である必要はない。