集合の定義
クラス\( a \)と\( A \)に対し、\( a \in A \)という論理式を「\( a \)は\( A \)の元である」と読むことにします*1。また、\( \neg(a \in A) \)という論理式を\( a \notin A \)と略記することにし、「\( a \)は\( A \)の元でない」と読むことにします*2。つまり、任意のクラス\( a \)と\( A \)に対し、「\( a \)は\( A \)の元であるかまたは元でない」ということが排中律によって要請されています。
さて、クラスの特別なものとして、公理的集合論における主役の「集合」という概念を定義します。
定義1(クラスが集合をなすことの定義) |
クラス\( a \)が集合(setまたはsmall set)をなす*3とは、\( a \)があるクラス\( A \)の元であるということである。 |
つまり、クラスの元は常に集合であり、逆に集合は必ず何らかのクラスの元であるということを定義で保証します。特に集合自身もクラスであるので、集合の元という概念が意味を持ち、集合の元もまた集合であることが分かります。
演習2(集合を表す論理式の演習) | |||
\( a \)をクラスとする。以下の論理式のうち、「\( a \)が集合をなす」という文を表すものを1つ選べ。また、他にそれと同値な論理式がある場合はそれらを全て挙げよ。 | |||
(1) \( \forall A(A \in a) \) | (2) \( \exists A(A \in a) \) | (3) \( \forall A(A \notin a) \) | (4) \( \exists A(A \notin a) \) |
(5) \( \forall A(a \in A) \) | (6) \( \exists A(a \in A) \) | (7) \( \forall A(a \notin A) \) | (8) \( \exists A(a \notin A) \) |
以上を踏まえてクラスというものは「集合の(集合とは限らない)集まり」である、と言いたいところですが、ここまでの設定では\( \in \)という述語で表せる論理式たちがどの程度クラスを特徴付けているか(2つのクラスの同一性を\( \in \)を用いた条件で決定できるか)について何も言っていないことに注意しましょう。クラスが集合の集まりであるという解釈を正答に意味付けることが出来るように、次にクラスの間の等号を「定義」します*4。
*1 従って「&mathjax{a \in A};である」という文字列を「&mathjax{a};は&mathjax{A};の元であるである」と読むことになりますが、日本語の文法にそぐわない気がするため、臨機応変にこちらも「&mathjax{a};は&mathjax{A};の元である」と読むすることにします。
*2 単に読み方を決めているだけなので、「元という言葉が未定義ではないか?」と気にする必要はありません。とはいえ「元」という言葉があった方が話しやすいので、クラス&mathjax{A};に対し、「&mathjax{a};は&mathjax{A};の元である」という論理式が成り立つようなクラス&mathjax{a};のことを&mathjax{A};の元と呼ぶことにします。
*3 または単に集合である
*4 「等号に定義なんて必要あるのか?」という指摘があるかもしれませんが、まだクラス間の述語が&mathjax{\in};しか用意されていないため、等号記号&mathjax{=};を導入する必要があります。そこを曖昧にして感覚的に扱ってしまうと客観的な議論がしにくくなってしまい、例えば同じ記号で表されているものが同じものを表すことは良いとしても、「違う記号で表されているものは違う記号なのだから違うものだ」と主張する人に&mathjax{1 + 1 = 2};を納得させることすら困難になってしまうおそれがあります。ただし最初から等号記号が導入されている定式化もあり、その場合は等号記号を定義するのではなく、それを特徴付ける公理を課すことになります。