人気ブログランキング | 話題のタグを見る

外延性の公理

公理的集合論の外延性の公理は次のようになる。
外延性の公理 A と B が全く同じ要素を持つのなら A と B は等しい
要素が全く同じなら集合 A と集合 B は等しいのは当然のようだが、この公理を適用すると、{a, a, a} と {a, a} と {a} は同じ集合ということになる。{a,a,a} のどの要素を取ってもそれは {a} の要素だし、{a} の要素は全て {a, a, a} の要素だからだ。
つまり集合では重複した要素は取り除かれる。これは、ものの集まりを考えるときにやや特殊な考え方になる。

Haskell の Data.List モジュールには nub (要点) という関数がある。リストから重複する要素を取り除く関数だ。

Prelude> import Data.List
Prelude Data.List> nub [1,1,2,3,3,3,4,4]
[1,2,3,4]

Python の場合は集合型というデータ型があるので重複した要素の除去は自動的に行われる。

>>> {1,1,2,3,3,3,4,4}
{1, 2, 3, 4}

プログラムを組むときは、リストが重複した要素を持つのは、むしろこちらのほうが普通なので、外延性の公理はリストに制約をかけるものである。

しかし、空集合 {} から対の公理を使って {{}, {}} が作られるがこれは外延性の公理で {{}} と等しいものとされる。空集合のみを要素とする集合 {{}} は外延性の公理がなければ、対の公理だけでは作ることができない。

外延性の公理という制約が、対の公理と組み合わせることによって空集合のみを要素とする集合を作ることができる。対の公理だけではこのような集合を作ることはできないので、制約によって却って表現の拡充が行われることになる。

公理集合論の集合は、一般的に考えるものの集まりよりはかなり制約を受けたものの集まりになるようだ。

by tnomura9 | 2018-01-30 11:42 | ラッセルのパラドックス | Comments(0)
<< 対の公理と和集合の公理 公理的集合論の世界 >>