このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

ペアの形式的な定義

公理的集合論やグロタンディーク宇宙の公理系では、順序を持たないペアが作れることは保証しています。が、順序を持つペアは頑張って作るのが普通です。作り方は一通りではありません。典型的な順序ペアの作り方を見ておきましょう。$`\newcommand{\mrm}[1]{ \mathrm{#1} }
\newcommand{\In}{\text{ in }}
\newcommand{\Imp}{\Rightarrow }
\newcommand{\Iff}{\Leftrightarrow }
\newcommand{\mbf}[1]{\mathbf{#1}}
`$

内容:

直感的・素朴な理解と形式的定義

置換公理に出てくる「関数」とは」で次のように述べました。

普通に集合概念を知って使いたいだけなら、ZF集合論のお勉強は不要と言ってもいいでしょう。
...[snip]...
前節で「ZF集合論のお勉強は不要」と言ったのですが、素朴集合論ではボンヤリしていて誤解しやすいポイントがいくつかあるので、そのような誤解を解くために、公理的集合論であるZF集合論の発想をかじってみるのはいいかも知れません。

かじってみるときに困惑しないように注意しておくと; 公理的集合論(ZF集合論が主流)では、集合もペアも直積集合も関数も事前に知っている前提で、あらためて形式的にペア/直積集合/関数などを定義します。循環論法のようですが、事前に要求している理解は直感的・素朴なものです。直感的・素朴なペア/直積集合/関数を使って、形式的なペア/直積集合/関数を新しく定義するので、同じ言葉を繰り返し使っているだけで循環はしていません。円周をグルグル回るのではなくて螺旋状に昇っていき、概念や理解の精度を上げる行為です。

形式的定義が直感的・素朴な理解を否定するわけでも、それと対立するわけでもないです。直感的・素朴な理解を形式的定義で置き換える必要もありません。が、形式的定義を見て、「アレッ、ズレていたかも」と感じる所があれば、直感的・素朴な理解に修正を加えて誤解・曲解を正しましょう。

特に次のことは心に留めておいたほうがいいです。

  • すべてのモノは集合で、空集合以外のアトム〈原子〉は存在しない。
  • 集合自体には前もって意味も意義もない。例えば、自然数を表す集合が前もってあるのではなくて、「これを自然数としよう」と約束し合意する人々の行為があるだけ。

順序なしペア

ZF集合論〈ツェルメロ/フレンケル集合論〉の公理系は「非継承的なグロタンディーク宇宙」や「置換公理に出てくる「関数」とは」で出しました。そのなかにペアの公理〈the axiom of pairing〉があります。ここで出てくるペアは順序なしペア〈unordered pair | 無順序ペア〉$`\{ a, b\}`$ です。$`a = b`$ ならば、順序なしペアは単元集合 $`\{a\}`$ になります。順序なしペアが空集合になることはありません。

順序なしペアの存在は、通常、公理的集合論の公理として要請されます*1

$`\quad \forall x, y.\exists w.( x \in w \land y\in w \land (\forall t.\, t\in w \Imp t = x \lor t = y) )`$

存在が保証される $`w`$ が、$`x, y`$ に対して一意的であることが形式的に(一階述語論理で)証明できるので、$`w`$ を $`\{x, y\}`$ と書きます。

順序ペア

順序ペア〈ordered pair | 順序対 | 順序付きペア〉は、公理的集合論では後から定義します。もちろん、事前に直感的・素朴な意味での順序ペアを理解してないと、順序ペアの形式的定義を見ても意味不明でしょう。

順序ペア $`(a, b)`$ は、「具体的にどう作るか?」はさして重要ではなくて、次の性質が成立することが重要です。

  1. $`(a, b) = (a', b') \Iff a = a' \land b = b'`$
  2. $`(a, b) = (b, a) \Iff a = b`$ (1番から出る)

ハウスドルフ〈Felix Hausdorff〉による順序ペア〈ハウスドルフ・ペア〉の定義は次です。

$`\quad (a, b) := \{ \{a, 1\}, \{b, 2\}\}`$

ただし、$`\{a, b\} \cap \{1, 2\} \ne \emptyset`$ だと具合が悪いので、そのときは次のようにします。

$`\quad (a, b) := \{\ \{a, 3\}, \{b, 4\}\}`$

この定義で、上で述べた要求は満たせます*2。が、ちょっとぎごちないので、よく使われるのはクラトフスキー〈Kazimierz Kuratowski〉による定義です。

$`\quad (a, b) := \{ \{a\}, \{a, b\} \}`$

以下、順序ペアとしてクラトフスキー・ペア(クラトフスキーの定義による順序ペア)を使うことにします。

呼び名に関して次の約束をします。

  1. 単に「ペア」と言えば、順序ペアのことだとする。
  2. ペアの実現方法はクラトフスキー・ペアを使うことにする。
  3. したがって、「ペア」はクラトフスキー・ペアのことである。

自然数

次の節で自然数 $`1, 2`$ を使うので、自然数の話をしておきます。

自然数とは何か? に答える方法がニ種類あります。

  1. 公理的集合論の枠組みのなかで実際に自然数を作ってみせて、「これが自然数だ」と主張する。
  2. 自然数の実体が何であるかには答えず、自然数達が作る構造を公理的に規定する。

一番目の方法として、ツェルメロ〈Ernst Zermelo〉は次のようなモノが自然数〈ツェルメロ自然数〉だと言いました。

  • $`0 := \emptyset = \{\}`$
  • $`S(n) := \{n\}`$

ここで、$`S(n)`$ は「$`n`$ の次の自然数」です。具体的には:

  • $`0 := \{\}`$
  • $`1 := \{\{\}\} = \{0\}`$
  • $`2 := \{\{\{\}\}\} = \{1\}`$
  • $`3 := \{\{\{\{\}\}\}\} = \{2\}`$

ツェルメロの自然数はあまり便利ではないので、現在の標準的な定義はノイマン〈John von Neumann〉の自然数〈ノイマン自然数〉です。

  • $`0 := \emptyset = \{\}`$
  • $`S(n) := n \cup \{n\}`$

具体的には:

  • $`0 := \{\}`$
  • $`1 := 0 \cup \{0\} = \{\}\cup \{ 0 \} = \{0\}`$
  • $`2 := 1 \cup \{1\} = \{0\} \cup \{1\} = \{0, 1\}`$
  • $`3 := 2 \cup \{2\} = \{0, 1\} \cup \{2\} = \{0, 1, 2\}`$

$`0, 1`$ はツェルメロ自然数と同じですが、$`2`$ 以降は違います。ノイマン自然数は次の性質を持ちます。

  • ノイマン自然数 $`n`$ は、$`n`$ 個の要素を持つ。
  • ノイマン自然数 $`n`$ は、それまでに作った($`n`$ 未満の)自然数をすべて含む。
  • 自然数を超える順序数も、同じ手法で作り出せる。

ノイマン自然数は非常に優れた定義なので、現在の標準的な自然数の定義となっています*3

一方、自然数達が作る構造(算術構造)の公理的定義としてはペアノ〈Giuseppe Peano〉の公理系が有名です。ペアノの公理系では、台集合とゼロと後者関数〈successor function〉からなる構造に幾つかの法則を要求してます。台集合/ゼロ/後者関数の実体が何であるかはどうでもいいので、ツェルメロ自然数もノイマン自然数もペアノ自然数*4の実例になっています。

次節で使うので、自然数 $`n`$ に対して次の定義をしておきます。

  • $`\bar{n} := \{1, \cdots, n\}`$

ノイマン自然数を仮定して定義を書くなら:

  • $`\bar{0} := 0`$
  • $`\bar{n} := (n\setminus\{0\} ) \cup \{ n\}`$ ($`n\ne 0`$ のとき)

ファミリーとしてのペア

$`U`$ をグロタンディーク宇宙(「非継承的なグロタンディーク宇宙」参照)とします。グロタンディーク宇宙は巨大かも知れませんが、ZFC〈ツェルメロ/フレンケル+選択公理〉集合論のなかの集合です。直感的・素朴な概念を普通に(遠慮なく)使って議論をします。

関数 $`f`$ が、$`x, y\in U`$ に対して $`f\in \mrm{Map}(x, y)`$ のとき、$`f`$ は $`U`$ に関して内的関数〈internal function〉と呼ぶことにします。内的ではない関数は外的〈external〉です。$`x\in U`$ でも、$`f\in \mrm{Map}(x, U)`$ なら $`f`$ は外的です。

$`x\in U`$ に対して $`\mrm{E}(x)`$ は次のように定義します。

$`\quad \mrm{E}(x) := \{y\in U\mid y\in x\}`$

$`A\subseteq U`$ に対して、$`\mrm{E}(a) = A`$ となる $`a\in U`$ が在るとは限りませんが、あるなら、$`A`$ は($`U`$ に関して)小さいクラス〈small class〉と呼びます。

$`x\in U`$ に対する $`f:x \to U`$ という形の外的関数をファミリー〈family〉と呼びます。ファミリーは、ある意味で内的関数に変換できます。そのことを保証するのが、グロタンディーク宇宙 $`U`$ に相対化された置換公理です。相対化された置換公理は、ほんとの置換公理(「置換公理に出てくる「関数」とは」参照)と比べると単純でストレートです。

まず、$`f:x\to U`$ を全射(下の図の $`f'`$)と単射(包含写像)に分解します。

$`\quad \xymatrix{
x \ar[rr]^f \ar[dr]_{f'}
&
& U
\\
{}
&{\mrm{Im}(f)} \ar@{^{(}->}[ur]
&{}
}\\
\quad \text{commutative } \In \mbf{SET}
`$

相対化された置換公理は、$`\mrm{Im}(f) \subseteq U`$ が小さいクラスであることを主張します。つまり、次のような $`y\in U`$ が存在します。

$`\quad \mrm{E}(y) = \mrm{Im}(f)`$

本来は外的関数である $`f':x \to \mrm{Im}(f)`$ は、対応する内的関数 $`f'': x \to y`$ と同一視できます。内的関数 $`f'':x \to y`$ が先に与えられたとしても、ファミリー(外的関数)$`f:x \to U`$ を再現できます。つまり、次の三者はあまり区別する必要がありません。($`\mbf{Set} = \mbf{Set}_U`$ です。)

  1. $`f:x \to U \In \mbf{SET}`$
  2. $`f':x \to \mrm{Im}(U) \In \mbf{SET}`$
  3. $`f'':x \to y \In \mbf{Set}`$

ファミリー $`f:x \to U`$ は、必要があれば内的関数 $`f'':x \to y`$ に置き換えて考えてかまいません。ファミリーは、宇宙 $`U`$ の外にあるものですが、内部に引き込めるので、$`U`$ の「中の人」でも見ることが出来ます*5

さて、$`U^{\bar{2}} := \mrm{Map}(\bar{2}, U)`$ と置くと、クラトフスキー・ペアを作る操作は次のような関数だとみなせます。

$`\quad \mrm{kpair}: U^{\bar{2}} \to U \In \mbf{SET}`$

具体的には:

$`\quad \mrm{kpair}( (a, b) ) := \{ \{a\}, \{a, b\} \}`$

ここで、関数 $`\mrm{kpair}`$ の引数に現れる順序ペア $`(a, b)`$ は何だ? ということになります。引数である $`(a, b)`$ は $`U^{\bar{2}}`$ の要素ですから、$`\bar{2} \to U`$ という関数(ファミリー)です。直感的・素朴な関数概念を認めているなら、引数である $`(a, b)`$ は認められる存在です。

クラトフスキー・ペアの性質から、関数 $`\mrm{kpair}`$ は単射です。単射 $`\mrm{kpair}`$ の像を
$`\quad \mrm{KPair}(U) = \mrm{Im}(\mrm{kpair})`$
とすると、$`U`$ の部分集合 $`\mrm{KPair}(U)`$ 上では $`\mrm{kpair}`$ は可逆になります。そして、次の図式を可換にするような関数 $`\mrm{first}, \mrm{second}`$ があります。

$`\quad \xymatrix@C+1.5pc{
{}
&U
\\
{\mrm{KPair}(U)} \ar[r]^-{\mrm{kpair}^{-1} }
\ar[ur]^{\mrm{first} } \ar[dr]_{\mrm{second}}
& U^{\bar{2}} \ar[u]_{\mrm{ev}_1} \ar[d]^{\mrm{ev}_2}
\\
{}
&U
}\\
\quad \text{commutative } \In \mbf{SET}
`$

$`\mrm{ev}_1, \mrm{ev}_2`$ は、引数値 $`1, 2`$ で関数を評価する関数〈評価射〉です。

以上のような確認はつまらないことではありません。グロタンディーク宇宙 $`U`$ に最初から与えられている順序なしペアリングを使ってクラトフスキー・ペアリング $`\mrm{kpair}`$ を作ると、それが、我々が直感的・素朴に認識しているペアリングの構造をちゃんと持つことが分かったのですから。

$`\mrm{KPair}(U)`$ 上では $`\mrm{kpair}`$ は可逆になることから次が言えます。

$`\quad {\mrm{KPair}(U)} \cong U^{\bar{2}}`$

これは、宇宙 $`U`$ 内の集合論的操作で作ったクラトフスキー・ペアと、宇宙 $`U`$ の外で作った関数〈ファミリー〉としてのペアは一対一対応することを示しています。

クラトフスキー・ペアは $`U`$ 内で自足的に(外で出ないで)作れますが、なんか面倒そうです。それに対して、$`U`$ の外側で作ったファミリーとしてのペアは分かりやすい。おそらく我々は、建前としてはクラトフスキー・ペアを使うとしても、本音としてはファミリーとしてのペアを想定しているのでしょう。このような「本音と建前」の使い分けは、上記の同型により問題ないことが保証されます。

*1:置換公理に出てくる「関数」とは」に書いたように、空集合の公理、ベキ集合の公理、置換公理から順序なしペアの公理は出るので、公理に入れないこともあります。

*2:[追記]ん? $`\{ \{1, 3\}, \{2, 4\} \}`$ が曖昧でデコードできないような気がする。どうせ使わないから、まっ、いいか。[/追記]

*3:ラッセルの自然数(有限集合の同型類)もありますが、現在の利用者は少ないでしょう。

*4:ツェルメロ自然数、ノイマン自然数とは違い、ペアノ自然数は何らかの実体を指していません。ペアノの公理系を満たす構造の台集合の要素のことです。

*5:「中の人」には、宇宙の外は一切見えません。「外の人」は、見たいと思えば宇宙の内部を覗き見することが出来ます。