++C++; // 未確認飛行 C MVVMパターンを使ったクロス・ターゲット開発 C#たんと学ぶ わりと硬派なソフトウェア開発講座 番外編「Windows Phone 7」

Top総合 目次集合論

集合

このエントリーをはてなブックマークに追加

目次

キーワード

概要

ZFC公理系を満たす数学的思考の対象を集合(set)といいます。 自然数や実数などの集合も、ZFC公理系から出発して構築していくことが出来ます。

ZFC公理系を満たすもの以外にも、 数学的思考の対象(object)の集まり(collection)を考えることは出来ますが、 集合論ではそのような集まりは議論の対象から外します。 これは、何でもかんでも扱おうとして、理論が破綻しないようにするためです。 (何でもかんでも扱おうとすると生じてしまう矛盾の例として、 ラッセルの背理(Russell's paradox)というものがあります。 興味があれば調べてみてください。)

集合とは

概要」 でも述べましたが、 集合論ではZFC公理系を満たすような物を集合と呼びます。

集合を現すのに、a, b, c, …, A, B, C, …, α, β, γ などの文字が使われます。

集合という名前が示すとおり、集合は何らかの対象が集まったものです。 集合論で取り扱われる数学的対象は全て集合なので、集合の中身はやはり集合です。 集合の中身のことを(element)または要素といい、 集合 a が集合 b の元であるとき、

a ∈ b

と書き表します。

等しい集合

まず、「2つの集合が互いに等しい」というのがどういうことなのかを定義する公理が外延性公理です。

∀a∀b[a=b⇔∀x(x∈a⇔x∈b)]

これは簡単に言うと、「含まれる全ての元が等しい2つの集合は互いに等しい」ということです。

外延(extention)という言葉は内包(intention)という言葉の対義語なんですが、 これらの用語は、哲学や論理学で用いられる場合には、 内包は「ある事物が充たすべき条件」であり、 外延は「ある条件を充たす事物の集合」のことを指します。 例えば、「偶数」の場合、 内包は「2で割り切れる数」、 外延は「2, 4, 6, 8, …」となります。

集合論的には、集合の表し方として内包的記法と外延的記法という2つの方法があります。 内包的記法は、 S = {x | P(x)} というように、集合 S の元が満たすべき条件 P を使って表す方法です。 一方、外延的記法は S = {a, b, c, d, …} というように、「集合 S の元としての条件を満たすものを列挙する方法です。 再び「偶数」を例に挙げるなら、 偶数全体の集合 E は、 内包的記法では E = {x | ∃n ∈ N, x = 2 n}、 外延的記法では E = {2, 4, 6, 8, …} となります。

まあ、難しい話を抜きにして、外延性公理に関する部分だけ説明すると、 「中身が全部同じ ⇔ 同じ集合」というような考え方のことを外延的等価性といいます。

部分集合

∀x(x∈a⇔x∈b) というのが「等しい集合」の条件でした。 この ⇔ を一方通行に変えたものは集合の包含関係を表すものになります。

∀x(x∈a→x∈b) が成り立つとき、 「ab部分集合(subset)である」といい、 a ⊆ b と表します。 また、a ⊆ b ∧ a ≠ b のとき、 「ab真部分集合(proper subset)である」といい、 a ⊂ b と表します。 (流儀によっては、部分集合⊆を⊂で表し、真部分集合⊂を⊂の下に≠を付けた物で表すこともあります。)

集合の包含関係については以下のような命題が成り立ちます。

a ⊆ a
a ⊆ b ∧ b ⊆ a → a = b
a ⊆ b ∧ b ⊆ c → a ⊆ c

空集合

空集合と呼ばれる特殊な集合の存在を仮定するのが空集合の存在公理です。

∃a∀x[(x∈a)]

これは、「全く元を含まない集合が存在する」ということです。 この「全く元を含まない集合」を空集合(empty set)とよび、 φで表します。 (本来、空集合は 0 (数字のゼロ)に斜め線を入れた記号で表すものですが、 写植やフォントの都合から、φ(ギリシャ文字のファイ)を使うことがよくあります。) (あるいは、中身が空っぽの括弧 {} で空集合を表すこともあります。)

ちなみに、証明は省略しますが、空集合はただ1つに確定します。 すなわち、2つの集合a, b がともに空集合の存在公理を満たすとき、 a = b となります。

集合に対する操作

2つの集合 a, b から、これら2つを要素として持つ集合 c = {a, b} を作ることが考えられます。 このような操作が出来る(このような集合が存在する)ということを仮定するのが対の公理です。

∀a∀b∃c∃x(x∈c ⇔ x=a∨x=b)

このようにして得られる集合 {a, b}(pair)と呼びます。 このとき、ab の順番は関係ありません。 すなわち、{a, b}{b, a} はどちらも同じものになります。 順序が関係ないということを明示するために、対を非順序対(unordered pair)と呼ぶこともあります。

また、a = b の場合、対 {a, a} を単に {a} と書き、aシングルトン(singleton)と呼びます。 a{a} は全く別の集合になります。

合併

合併集合の公理により、合併を作ることが出来ます。

∀a∃b∀x[x∈b ⇔ ∃c(c∈a∧x∈c)]

これは「全ての元が集合 a の元の元になるような集合 b を作ることが出来る」ということです。 ba の元の合併になります。 このような集合を、 b =

c ∈ a
c または b = a と表します。

この合併という操作は、「集合の中の壁を取り払う」操作になります。 例えば、A = {{a, b}, {c, d, e}, {f}} のとき、内側の({a, b} とかの)括弧を取り払って、∪A = {a, b, c, d, e, f} という集合を作るということです。

A = {a, b}B = {c, d} というような集合から C = {a, b, c, d} というような集合を作るためには、 一度 AB の対を作ってから、 合併集合の公理を適用します。

{a, b}, {c, d}

対の公理

{ {a, b}, {c, d}}

合併集合の公理

{a, b, c, d}

このような手順で得られた集合 C = {a, b, c, d} を、 A = {a, b}B = {c, d}合併(union)と呼び、C = A ∪ B と書きます。 合併は和集合(sum set)ということもあります。 合併には以下のような命題が成り立ちます。

  • a ∪ a = a (冪等律)
  • a ∪ b = b ∪ a (交換律)
  • a ∪ (b ∪ c)(a ∪ b ) ∪ c (結合律)
  • a ⊆ b ⇔ a ∪ b = b
  • a ∪ φ = a

ちなみに、 a, b が互いに共通部分を持たないとき、 合併 a ∪ b のことを直和(disjoint union, disjoint sum:互いに素な合併・和)集合と呼びます。 直和は ∪ という記号の代わりに、 + を ○ で囲った記号や、 Π を上下逆さまにした記号を使って表します。 (この記号が出せるフォントはあまりありませんが。)

共通部分

分出公理 集合 a の元で、特定の条件(P(x) という命題)を満たすものを集めて作ったものもまた集合になることを主張しています。

∀a∃b∀x[x∈b ⇔ x∈a∧P(x)]

このような、「a の中で、P(x) を満たす元を集めて作った集合 b」を b = {x∈a | P(x)} と表します。

特に、命題 P が、x ∈ b のとき、 すなわち、c = {x∈a | x∈b} のとき、 cab共通部分(intersection)と呼び、C = A ∩ B と書きます。 共通部分は積集合(product set)ということもあります。 共通部分には以下のような命題が成り立ちます。

  • a ∩ a = a (冪等律)
  • a ∩ b = b ∩ a (交換律)
  • a ∩ (b ∩ c)(a ∩ b ) ∩ c (結合律)
  • a ⊆ b ⇔ a ∩ b = a
  • a ∩ φ = φ

また、集合の合併との間に以下のような関係(分配律)が成り立ちます。

  • a ∪ (b ∩ c)(a ∪ b )(a ∪ c )
  • a ∩ (b ∪ c)(a ∩ b )(a ∩ c )

b ∈ a に対して、 b{x∈b | ∀y (y∈あ → x∈y)} という集合を作ると、ba の全ての元の共通部分になります。 このような集合を、 b =

c ∈ a
c または b = a と表します。

その他の操作

共通部分とは逆に、c = {x∈a | ¬ x∈b} という集合を作ることが出来ます。 このような集合 c(difference)と呼び、C = A - B と書きます。 自然数などの差とは性質がかなり異なっているので、区別するために集合論的差という言い方をする場合が多いです。 また、和集合・積集合などにあわせて、差集合と呼ぶこともあります。

集合 U, a について、a ⊆ U であるとき、 集合 U - aaU に対する補集合(complement)と呼びます。 特に、U がどういう集合か明らかであり、明示する必要がない場合には、 a の補集合を ac と表します。 補集合には以下のような命題が成り立ちます。

  • (ac) c = a
  • Uc = φ
  • φc = U
  • a ∩ ac = φ
  • a ∪ ac = U
  • a ⊆ b ⇔ ac ⊇ bc
  • (a ∩ b)c = ac ∪ bc
  • (a ∪ b)c = ac ∩ bc

最後の2つの命題は de Morgan の法則と呼ばれています。

冪集合

集合 a から a の部分集合全体からなる集合 b を作ることを考えます。 このような集合が存在することを保証するのがベキ集合の公理です。

∀a∃b∀x(x∈b ⇔ x⊆a)

このような集合 b冪集合(power set)とよび、 b = P(a) と表します。 (P は筆記体の大文字の P。)

例えば、A = {a, b, c} のとき、

P (A){ φ, {a}, {b}, {c}, {b, c}, {c, a}, {a, b}, {a, b, c}}

となります。

a ⊆ bab の部分集合である)という関係は、 a ∈ P(b) と書き表すことも出来ます。 (a ⊂ b(真部分集合)は a ∈ P(b){b}。) また、冪集合について以下のような命題が成り立ちます。

  • a ⊆ b ⇔ P(a)P(b)
  • P (a∩b)P(a)P(b)
  • P (a∪b)P(a)P(b)

[お問い合わせ](q)