2001年 5月27日 作成 セット と クラス (定義の違い) >> 目次 (作成日順)
2006年 8月 1日 補遺  


以下を仮想する。
は男である。
は男である。
は男である。
は女である。
は女である。
は女である。
は法人である。
は法人である。
は法人である。


 ▼ 顧客番号を identifer にした 「顧客」 entity

         ┌───────────────────┐
         │        顧 客       R│
         ├─────────┬─────────┤
         │顧客番号     │顧客名称     │
         │         │個人法人区分コード│
         │         │性別       │
         └─────────┼─────────┘
                   |
            ┌──────┴───────┐
       ┌────┴────┐    ┌────┴────┐
       │   個 人   │    │   法 人   │
       └────┬────┘    └─────────┘
     ┌──────┴───────┐
  ┌──┴──┐        ┌──┴──┐
  │  男  |        │  女  │
  └─────┘        └─────┘


性質f(x)を使って集合を形成する。
f (x)  性質: 男である a、a、a
 性質: 女である b、b、b
 性質: 法人である  c、c、c

1. クラスの考えかた

 クラス は 「階の関係」 を記述して、「分類する」 という概念である。
 性質 f (x) を使って、「男」 の集合と 「女」 の集合および 「法人」 の集合を形成し、「男」 と 「女」 を使って 「個人」 の集合を形成し、「個人」 と 「法人」 を使って 「顧客」 の集合を形成する。f (x) の論理式を 「内包」 といい、「内包」 を使って正しい 「外延 (集合)」 を形成することを 「周延」 するという。正しい集合を グループ 化して一般化した範疇を形成することを 「分類」 といい、分類された 「類」 を 「クラス」 という。

2. セットの考えかた

 セット は 「包摂関係」 を記述して、「区分する」 という概念である。
 「顧客」 の集合 (セット) を最初に形成して、(区分コードを判断規準にして) 部分集合(サブセット) に区別する。「顧客」 の集合 (セット) は、「個人・法人区分コード」 を使って、「個人」 の部分集合と 「法人 」 の部分集合に区別され、「個人」 の集合は、「性別」 を使って、「男」 の部分集合と 「女」 の部分集合に区別される。

3. 論理和

 クラス 間あるいは サブセット 間には論理積 (AND) は成立しない
 (「個人かつ法人」 あるいは 「男かつ女」 はいない)。

 クラス 間あるいは サブセット 間は全て論理和 (OR) が成立する
 (「個人または法人」 あるいは 「男または女」 である)。



以上のように、「クラス」 と 「セット」 は、現象的には、表裏一体の関係にあるが、定義が違う
クラス (タイプ理論) セット (包摂関係)
G (f)F ⊂ G
f (x) = {a, b, c}

G (f) = {f} ≠ {a, b, c}

F = {a, b, c}  

G = {a, b, c, d}

前述した例で言うなら、クラス のなかでは、「男」 と 「女」 は 「 個人」 の元ではあるが 「顧客」 の元ではない。


[ 補遺 ] (2006年 8月 1日)

 セット (ZF の公理系) は、「分出公理」 を起点にしているが--すなわち、{x ∈ a | A (x)} の形を集合として [ もう 1つの集合 a を介立して ]、あまりに大きくならない集合 [ a よりも小さい集合 ] を導入しているが--「集合の集合」 を認めている。たとえば、「対の公理」 「和集合の公理」 および 「ベキ 集合の公理」 は、「集合を メンバー とする集合」 を認めている。ただし、それらは、あくまで、「包摂関係」 であって、「階の関係」 ではない。

 「対の公理」 は、2つの集合 (たとえば、a と b) があれば、その 2つの集合を メンバー とする集合 x が存在するということである。すなわち、a と b が集合なら、{a, b} も集合である。ただし、{a, b} は非順序対 (unordered pair) である。もし、a および b を順序対 (ordered pair) として主張するのなら、以下のように考えればよい。

  (a, b) = {{a, a}, {a, b}}.

 「和集合の公理」 は、a にふくまれる集合の和集合 (sum、union)--合併集合--が存在することを主張する。たとえば、a = {b, c} は、素朴集合論の記述を使えば、∪ a = b ∪ c のことである。

 「ベキ集合の公理」 は、集合 a について、a の部分集合の全体から構成される集合--集合族という--が存在することを主張する。ベキ集合は、2S として記述される。たとえば、敦と剛と大地の 3人がいっしょに遊ぶとすれば、3人 の遊ぶ構成は、以下の 8通りになる [ 23 ]。

  {敦、剛、大地}. {敦、剛}. {敦、大地}. {剛、大地}. {敦}. {剛}. {大地}. {φ}.

 以上から理解できるように、セット のなかで 「集合の集合」 は、「包摂関係」 を示しているのであって、「階の関係 (性質の性質)」 ではない点に注意されたい。
 コッド関係モデルは、ZF の公理系 (セット 概念) を使って形式化されている。

 A (u) を任意の集合論的論理式とする。とすれば、{u | A (u)} の存在は、(分出公理を起点としている) ZF の公理から得られない。 {u | A (u)} を集合 (セット) と区別して、クラス (class) と云う。

 ちなみに、分出公理は、以下の考えかたを前提にしている。
 集合 X の メンバー x について判断 f (x) があって、真を 「1」 とし、偽を 「0」 として、真理関数 I = {0, 1} をとれば、f は I への関数と考えることができる。そこで、f (x) = 1 となる メンバー を集めれば集合 [ Y = {x ∈ X | f (x) = 1} ] になる、という考えかたである。




  << もどる HOME すすむ >>
  ベーシックス