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

述語論理学では集合をどのように表すか

対象 a, b, ... の集合である領域 D にたいし、述語 P(x) は領域 D から2値集合 {True, False} への写像 P(x) :: D -> {True, False} である。しかし、述語論理学では領域 D の部分集合を表現する項や論理式はない。そこで、述語論理の言語で領域 D の部分集合を表現する方法はないかどうかを考える。

まず、領域 D の要素 a に対してだけ True であるが、他の要素に対しては False である述語 A(x) を考える。この述語による内包的定義で定義される集合は a のみを要素とする集合 {a } である。すなわち、

{x ∈ D | A(x) } = {a}

である。これで、内包的定義で集合を定義できる述語 A(x) を作ることができた。領域 D の部分集合 {a} は述語論理学の言葉では表現できないが、少なくとも内包的定義で集合を定義できる述語 A(x) を述語論理学の言葉で表現できることがわかる。

このようなシングルトン集合ができれば、領域 D の任意の部分集合を内包的定義で定義できる述語を述語論理学の言葉で表現することができる。たとえば集合 {a, b, c} を内包的定義で定義できる述語を P(x) とすると、これは述語論理学の論理式で、

P(x) = A(x) ∨ B(x) ∨ C(x)

と記述することができる。この場合、P(x) については、P(a) = True、P(b) = True、P(c) = True だが、それ以外の要素 n については P(n) = False である。このことは {x ∈ D | P(x) } = {a, b, c} であることを意味している。このように、領域 D についての述語論理の言語で直接に集合を表現する方法はないが、内包的定義によって集合を定義できる「述語」を定義することができることがわかる。

さらに P(a) = True であるからこの命題 P(a) は

a ∈ P (ただし、P は {x ∈ D | P(x)} の略記である)

と同じ意味になる。つまり、領域 D の対象 a が集合 P の要素であるという命題を P(a) で表すことができる。

このように領域 D に関する述語論理の言語で集合を直接的に表現する手段はないが、内包的定義で集合を定義できる述語を記述することはできる。したがって、述語と集合を同一視すれば、領域 D の部分集合は述語 P(x) で表現できることになる。つまり、領域 D に関する述語論理学の言語で集合を記述することができることがわかる。

このようにして、領域 D の述語論理学の言語によって領域 D の部分集合が定義できるようになったので、領域 D の部分集合の振る舞いについては余すところなく述語論理学によって記述できることがわかった。このことは、領域 D の部分集合については述語論理学の定理を安全に適用できるということを意味している。述語論理学の言語は無事に集合をそのフレームワークに取り込むことができるのだ。

ただし、注意しないといけないのは、述語論理で記述できるのはあくまでも述語であって、内包的定義そのものや集合そのものは記述できないということだ。すなわち、述語論理の枠内に記述できるのは、内包的定義で集合を定める述語であって、内包的定義や集合そのものではない。ラッセルのパラドックスの原因は無意識に述語論理の中に内包的定義そのものまで取り込んでしまったところにあるのではないだろうか。述語論理にとっての集合とは、述語を介して投影される映像のようなもので、直接つかむことはできないと考えたほうがいい。

by tnomura9 | 2019-04-17 03:05 | ラッセルのパラドックス | Comments(0)
<< 述語論理のモデル 述語論理の意味 >>