公理的集合論のZFCを、論理記号抜きで噛み砕いて解説。

数学  YOSHIKI  2020.3.13  2022.12.24

この記事では、ある程度論理と集合について知っている方に向けて、数学の公理のひとつ「ZFC」を解説しています。

目次

予備知識とゴール

予備知識

論理記号($\land$ とか $\forall$ とか)は読めなくても大丈夫ですが、基本的な論理の言葉は分かっていた方が良いです。 具体的には、こちらの6つのdescription言葉を分かっていればOKです👇 description description note face

不安な方は次の記事にサラッと目を通しておくと良いかもしれません。

集合についての予備知識な無くても大丈夫ですが、ある程度慣れていた方が理解は進むと思います。 不安な方は次の記事にサラッと目を通しておくと良いかもしれません。

ゴール

数学の出発点のひとつ「ZFC」がどういうものなのか分かる。

ZFCとは?

数学では数や方程式、関数、図形などの色んな概念を扱います。 それらはすべて他の数学的な概念を使って定義されます。

そして、Aという概念を定義するのにBという概念を使い、Bという概念を定義するにはCという概念を使い、のようにたどっていくと最終的には集合という概念にたどり着きます。 つまり、数や方程式や関数や図形などの概念はすべて集合から作ることができます。

高校では集合を「ものの集まり」として定義していますが、これでは「もの」を定義するのに別の概念が必要になってしまいます。 つまり、スタートになる集合という概念だけは他の概念を使って定義することができません。

そこで、他の概念を使って集合を定義するということを諦め、集合が満たすべき性質だけを定めて、その性質を満たすものを集合と呼びましょう、という裏技を使います。

そしてその「集合が満たすべき性質」というのがZFC公理系というものです。

※ZFCはZermelo-Fraenkel set-theory with the axiom of Choiceの略です。
※厳密には、集合が満たすべき性質というよりも、集合と集合の間に成り立つ「属する」という関係が満たすべき性質という方が正確です。
※ZFC以外にもいくつか種類がありますが、一番メジャーなのがZFCです。

定義(集合・元・属する)
ZFC公理系で性質が定まる対象を集合といい、集合の間のある関係を属するといいます。
集合 $A$ が集合 $B$ に属することを $A{\in}B$ と書いて、$A$ は $B$ のである、ともいいます。

※「元」の代わりに「要素」ということもあります。
※ $A$ が $B$ の元でないことを $A{\notin}B$ と書きます。
※ 属するという関係 $\in$ は、後で出てくる含む $\subset$ という関係とは別の関係です。

注意するポイントとしては、元も集合だということです。 つまり数学で扱える対象はすべて集合で、集合以外の登場人物はいません。

そのZFC公理系というのは、次の10個の公理の集まりです。

名前 大まかな内容
外延性公理 すべての元が同じなら集合も同じ
空集合の公理 元を持たない集合がある
対の公理 2つの集合を元に持つ集合がある
和集合の公理 元の元を元に持つ集合がある
無限公理 元を無限に持つ集合がある
分出公理 どんな集合でも部分集合が作れる
べき集合の公理 すべての部分集合を元に持つ集合がある
置換公理 どんな集合からもある条件で別の集合を作れる
選択公理 元の元から集合が作れる
正則性公理 元をたどっていくと空集合に行き着く

これからこの公理をひとつずつ詳しく見ていくんですが、その前にざっくり全体像を見ておきます。

まず、外延性公理と正則性公理は集合のあり方、その他の公理は集合の作り方についての公理です。

具体的には、空集合の公理は少なくともひとつは集合が存在することを主張している公理です。 対の公理、和集合の公理、無限集合の公理、べき集合の公理は、ある集合から、より大きな集合を作る公理です。 分出公理、置換公理、選択公理は、ある集合から、より小さな集合を作る公理です。

ただし、論理的にはこれらすべての公理が必要なわけではありません。 論理的に必要なん 具体的には、分出公理は置換公理から導けるし、空集合の公理は無限公理と分出公理から導けるし、対の公理は置換公理と空集合の公理とべき集合の公理から導けます。 とはいえ、普通は簡潔さよりは、分かりやすさや話の進めやすさを優先して、空集合の公理なんかも公理に入れてしまうことが多いです。

外延性公理

それでは公理を順番に見ていきましょう。 参考までに論理記号も書いておきます。

公理(外延性公理)
2つの集合 $A$ と $B$ があって、$A$ のどの元も $B$ に属し、$B$ のどの元も $A$ に属すならば、 $A=B$:

\begin{align} \forall X \ \forall Y \ ( \forall x ( x \in X \leftrightarrow x \in Y ) \to X=Y ) \end{align}

記号だけ見ると「うっ…」ってなりますが、要するに元がすべて同じなら同じ集合だと言っています。 言い換えると、集合は元だけ区別できるということです。

この「同じ」というのは正確には「等しい」といいます。

定義(等しい)
$A=B$ のとき $A$ と $B$ は等しいといいます。
$A$ と $B$ が等しくないことを $A \neq B$ と書きます。

※つまり $\lnot(A=B) \Leftrightarrow A \neq B$ということです。

空集合の公理

公理(空集合の公理)
どんな元も属さない集合がある:

\begin{align} \exists A \ \forall x ( \lnot x{\in}A ) \end{align}

外延性公理から、このような集合はひとつしかないことが分かるので、これに名前をつけます。

定義(空集合)
空集合の公理を満たす集合を空集合といい $\varnothing$ または $\{ \}$ と書きます。

つまり、$\varnothing$ が空集合だということは、どんな集合 $x$ に対しても $x{\notin}\varnothing$ が成り立つということです。

対の公理

公理(対の公理)
集合 $X$ と集合 $Y$ だけが属する集合がある:

\begin{align} \forall X \ \forall Y \ \exists A \ \forall x ( x{\in}A \leftrightarrow ( x=X \lor x=Y ) ) \end{align}

外延性公理から、ある2つの集合から対の公理で作られる集合はひとつしかないことが分かるので、これに名前をつけます。

定義(対)
集合 $A$ と集合 $B$ から対の公理で定まる集合を $A$ と $B$ の といい $\{ A, B \}$ と書きます。

外延性公理から、

\begin{align} \{ A, A \} = \{ A \} \end{align} なので、普通は $\{ A, A \}$ を単に $\{ A \}$ と書きます。 また同じく外延性公理から、 \begin{align} \{ A, B \} = \{ B, A \} \end{align} が成り立つことも分かります。

空集合の公理と対の公理から新しい集合をどんどん作っていけることを見てみましょう。
まず $\varnothing$ と $\varnothing$ の対を $A$ とすると、

\begin{align} A= \{ \varnothing , \varnothing \} = \{ \varnothing \} \end{align}

という新しい集合が作れて、これは $\varnothing$ とは別の集合になります。 次に $A$ と $\varnothing$ の対を $B$ とすると、

\begin{align} B= \{ A, \varnothing \} \end{align}

という新しい集合が作れます。 さらに、$A$ と $A$ の対や $A$ と $B$ の対などを作っていくと、いくらでも新しい集合を作れることが分かります。

和集合の公理

対の公理では、いくらがんばっても元が2つの集合しか作れませんでしたが、和集合の公理を使えば対をつなぎ合わせることができるので、元が3つ以上の集合も作れます。

公理(和集合の公理)
どんな集合も、元の元全体は集合になる:

\begin{align} \forall X \ \exists A \ \forall x ( x{\in}A \leftrightarrow \exists B ( x{\in}B \land B{\in}X ) ) \end{align}

集合 $X$ に対してこの公理で定まる集合 $A$ はひとつしかないので、これに名前をつけます。

定義(和集合①)
集合 $X$ に対して和集合の公理で定まる集合を $X$ の和集合といい $\bigcup X$ と書きます。

和集合の公理を使うと、元の数が有限であればどんな集合でも作れることが分かります。

たとえば、

\begin{align} \bigcup \{ \{ a, b \} , \{ b, c \} , \{ a, c \} \} = \{ a, b, c \} \end{align} や、 \begin{align} \bigcup \{ \{ a, b \} , \{ c, d \} \} = \{ a, b, c, d \} \end{align}

みたいな感じです。

ややこしいですが、和集合という用語にはもうひとつの意味があります。

定義(和集合②)
対の和集合 $\bigcup \{ A, B \}$ を $A \cup B$ と書き、$A$ と $B$ の和集合といいます。

たとえば、$A = \{ a, b \} $ と $B = \{ b, c \}$ の和集合は、

\begin{align} A \cup B & = \{ a, b \} \cup \{ b, c \} \br & = \bigcup \{ \{ a, b \} , \{ b, c \} \} \br & = \{ a, b, c \} \end{align}

となります。

無限公理

対の公理と和集合の公理だけでは、元の数が有限の集合しか作れません。 でも、例えば自然数の集合なんかは明らかに元が無限にあります。 そこで無限公理の出番です。

公理(無限公理)
空集合を元に持ち、さらに $x$ が元ならば $x \cup \{ x \}$も元に持つ、という集合が存在する:

\begin{align} \exists A ( \varnothing{\in}A \land \forall x ( x{\in}A \to x \cup \{ x \}{\in}A ) ) \end{align}

たとえば $\varnothing$ が属するので $\varnothing \cup \{ \varnothing \}$ つまり $\{ \varnothing \}$ も属することになります。 そして $\{ \varnothing \}$ が属するなら $\{ \varnothing \} \cup \{ \{ \varnothing \} \}$ つまり $\{ \varnothing , \{ \varnothing \} \}$ も属することになります。 これが永遠に続くので、元が無限に属する集合ができることが分かります。

※実は無限公理で作られる集合の中で一番小さいものが自然数の集合であることが分かっています。

分出公理

ここまでは、集合を「大きく」していく公理でしたが、この分出公理は、集合を「小さく」する公理です。 この公理は、ある集合が与えられたときに、その集合の元を自由に使って新しい集合を作れることを保証しています。

分出公理は置換公理の特別な場合なんですが、実際には置換公理よりも分出公理の方がよく使われるので、ここで説明しておきます。

公理(分出公理)
集合 $X$ の元 $x$ の中で、条件 $P(x)$ を満たす元は集合になる:

\begin{align} \forall X \ \exists A \ \forall x ( x{\in}A \leftrightarrow ( x{\in}X \land P(x) ) ) \end{align}

分出公理で作られる集合を部分集合というので、分出公理のことを部分集合の公理ともいいます。

定義(部分集合)
集合 $X$ とその元 $x$ についての条件 $P(x)$ が与えられたとき、 分出公理で定まる集合を $X$ の部分集合といい、$\{ x{\in}X | P(x) \}$ と書きます。
$A$ が $X$ の部分集合のとき、$X$ は $A$ を含むといい $A{\subset}X$ と書きます。

※ $\{ x{\in}X | P(x) \}$ を $\{ x | x{\in}X \land P(x) \}$ とも書きます。
※ $X$ を固定して考える場合や $X$ が明らかなときは、単に $\{ x | P(x) \}$ と書くことの方が多いです。
※ $X$ は自然数全体や実数全体のような、その時考えてる数学的対象全体に固定することが多いです。
※ $A{\subset}X$ を $X{\supset}A$ とも書きます。

たとえば、$X$ を $\{ a, b, c, d, e \}$ とし、$P(c)$ と $P(d)$ と $P(e)$ が成り立つとすると、

\begin{align} A = \{ x{\in}X | P(x) \} = \{ c, d, e \} \end{align} となります。 このとき $A$ は $X$ の部分集合なので $A{\subset}X$ つまり \begin{align} \{ c, d, e \} \subset \{ a, b, c, d, e \} \end{align}

ということになります。

定義(共通部分)
$\{ x{\in}A | x{\in}B \}$ を $A$ と $B$ の共通部分といい $A{\cap}B$ と書きます。
特に $A{\cap}B \neq \varnothing$ のとき、$A$ と $B$ は交わるといいます。
$A$ と $B$ が交わらないことを、$A$ と $B$ は互いに素であるといいます。

たとえば、

\begin{align} A = \{ a, b, c, d \}, \br B = \{ c, d, e, f \}, \br C = \{ e, f, g, h \} \end{align}

とすると、

\begin{align} A{\cap}B & = \{ x{\in}A | x{\in}B \} \br & = \{ c, d \} \br & \neq \varnothing \end{align}

となるので、$A$ と $B$ は交わります。一方、

\begin{align} A{\cap}C & = \{ x{\in}A | x{\in}C \} \br & = \{ \} \br & = \varnothing \end{align}

なので、$A$ と $C$ は互いに素ということになります。

定義(直和)
$A$ と $B$ が互いに素のとき、$A$ と $B$ の和集合を $A$ と $B$ の直和といいます。

たとえば、さっきの例では $A$ と $C$ は互いに素だったので $A{\cup}C$ は $A$ と $C$ の直和ということになります:

\begin{align} A{\cup}C = \{ a, b, c, d, e, f, g, h \} \end{align}

べき集合の公理

これはとてつもなく大きな集合を作る公理です。

公理(べき集合の公理)
どんな集合にも、全ての部分集合を元に持つ集合が存在する:

\begin{align} \forall X \ \exists A \ \forall x ( x{\in}A \leftrightarrow x{\subset}X ) \end{align}

外延性公理から、どんな集合に対しても、この公理を満たす集合はひとつしかないので名前をつけます。

定義(べき集合)
集合 $A$ に対して、べき集合の公理で定まる集合を $A$ のべき集合といい $\mathcal{P}(A)$ と書きます。

※ $\mathcal{P}(A)$ は $2^A$ とも書きます。

たとえば $A = \{ a, b, c \}$ のとき、

\begin{align} \varnothing & \subset A, \br \{ a \} & \subset A, \br \{ b \} & \subset A, \br \{ c \} & \subset A, \br \{ a, b \} & \subset A, \br \{ b, c \} & \subset A, \br \{ c, a \} & \subset A, \br A & \subset A \end{align}

なので、

\begin{align} \mathcal{P}(A) = \{ \varnothing , \{ a \} , \{ b \} , \{ c \} , \{ a, b \} , \{ b, c \} , \{ c, a \} , A \} \end{align}

となります。

この例では元が3つだけなので大したことない感じがするかもしれません。 でも元が無限にある集合でも同じことができるというところが、このべき集合の公理のすごいところです。 もちろんべき集合も集合なので、べき集合のべき集合なんてものまで作れてしまいます。 この公理は、無限集合のべき集合のべき集合なんていうとてつもなく超巨大な集合の存在まで保証しています。

※とてつもなく大きいというのがどれくらい大きいのかは、集合の濃度という概念を学ぶとよく分かります。

置換公理

置換公理は分出公理のレベルアップ版です。

無限公理やべき集合の公理で作った大きな集合から、ある程度好き勝手に新しい集合を作れることを保証した集合です。

分出公理では部分集合しか作れませんでしたが、置換公理では部分集合を超えた集合も作ることができます。

公理(置換公理)
集合 $X$ の元 $x$ と一対一の関係 $P(x, y)$ がある $y$ を元とする集合がある:

\begin{align} \forall a \ \forall b \ \forall c ( (P(a, b) \land P(a, c)) \to b=c ) \to \forall X \ \exists A \ \forall y ( y{\in}A \leftrightarrow \exists x ( x{\in}X \land P(x, y) ) ) \end{align}

式が複雑なので少し詳しく見てみましょう。 左辺 $\forall a \ \forall b \ \forall c ( (P(a, b) \land P(a, c)) \to b=c )$ は「$P$ は一対一の関係」だということを言ってます。 右辺 $\forall X \ \exists A \ \forall y ( y{\in}A \leftrightarrow \exists x ( x{\in}X \land P(x, y) ) )$ は「$x$ に対応する $y$ を元とする集合があること」を言ってます。

たとえば、$X$ を $\{ a, b, c, d, e \}$ とし、$P(a,c)$ と $P(b,d)$ と $P(c,e)$ が成り立つとすると、

\begin{align} A = \{ c, d, e \} \end{align}

となります。このとき $A$ は $X$ の部分集合なので、これは分出公理でも作れる集合です。

分出公理では作れない集合も作ってみましょう。 たとえば $Q(a,f)$ と $Q(b,g)$ と $Q(c,h)$ という関係が成り立つとすると、

\begin{align} B = \{ f, g, h \} \end{align}

となります。今度は $B$ は $X$ の部分集合ではありませんが、こういう集合も作れるというのが、この置換公理のすごいところです。

選択公理

公理(選択公理)
どんな集合も、各元が互いに素ならば、各元から元をひとつずつ取ってきたものもまた集合になる:

\begin{align} \forall X ( ( \varnothing{\in}X \land \ \forall x \ \forall y ( x{\in}X \land y{\in}X \land x{\neq}y \to x{\cap}y = \varnothing ) ) \to \exists A \ \forall x \ \exists a ( x{\in}X \to A{\cap}x = \{a\} ) ) \end{align}

たとえば、

\begin{align} X & = \{ x, y, z \}, \br x & = \{ a, b, c \}, \br y & = \{ d, e \}, \br z & = \{ f \} \end{align}

とすると、

\begin{align} & \varnothing{\notin}X, \br & x{\in}X \land y{\in}X \land x{\neq}y \to x{\cap}y=\varnothing , \br & y{\in}X \land z{\in}X \land y{\neq}z \to y{\cap}z=\varnothing , \br & z{\in}X \land x{\in}X \land z{\neq}x \to z{\cap}x=\varnothing \end{align}

が成り立つので、たとえば、

\begin{align} A = \{ b, e, f \} \end{align}

とすると、

\begin{align} A{\cap}x & = \{ b \} , \br A{\cap}y & = \{ e \} , \br A{\cap}z & = \{ f \} \end{align}

が成り立つので、$A$ はちゃんと集合だということになります。

これも、このように元が有限の集合で考えると「当たり前じゃん!」ってなるんですが、 元が無限にあっても同じことができると主張しているところが、この選択公理のすごいところです。

正則性公理

これまでの空集合の公理、対の公理、和集合の公理、無限公理、分出公理、べき集合の公理は集合の作り方の公理でした。 最後のこの公理はこれまでの公理とはちょっと違って、空集合以外のすべての集合が持つべき性質についての公理です。

公理(正則性公理)
空集合でない集合は、自分自身と交わらない元をもつ:

\begin{align} \forall X ( X{\neq}\varnothing \to \exists a ( a{\in}X \land X{\cap}a=\varnothing ) ) \end{align}

正則性公理は基礎の公理ともいいます。

たとえば、

\begin{align} X = \{ a, X \} \end{align}

について考えてみると、

\begin{align} X \cap X = X \neq \varnothing \end{align}

ですが、

\begin{align} X \cap a = \varnothing \end{align}

なので、集合 $X$ はこの公理を満たしています。ところが、

\begin{align} Y = \{ Y \} \end{align}

について考えてみると、

\begin{align} Y \cap Y = Y \neq \varnothing \end{align}

なので、集合 $Y$ のようなおかしな集合は存在しないことが分かります。

まとめ

ここまでの流れをまとめると、まず、

で集合のあり方を定めて、

で集合の存在を保証して、

で集合を大きくして、

で自由にギュッと絞った集合を作る、という感じです。

関連記事