ソクラテスは死ぬ

全ての人間は死ぬ。ソクラテスは人間である。ゆえにソクラテスは死ぬ。という推論を述語論理学の演繹規則から推論してもよいが、直感的なイメージが湧かない。

ここで領域 D の対象 x が人間であるという述語を A(x) とする。また、x が死すべきもの (mortal) であるという述語を B(x) とする。そうするとすべての人間は死ぬという命題は次のようにあらわされる。

∀x(A(x) -> B(x))

ここで、述語 A(x) -> B(x) の真理集合を求めてみる。命題論理では命題 A(a) -> B(a) は、¬A(a) ∨ B(a) に等しい。したがって、述語 ¬A(x) ∨ B(x) の真理集合は A(x) の真理集合 A* の補集合と B(x) の真理集合 B* の和集合になる。これは、簡単な図によって視覚化できる。領域 D を長方形の内部で表し、A* と B* を一部が重なる円の内部で表せばよい。図に書くとすぐにわかるように領域 D 内の ¬A(x) ∨ B(x) の真理集合は領域 D を埋め尽くすことはなく A* - B* の部分が空白になる。

∀xP(x) が真になる必要十分条件はこの命題の真理集合が領域 D と等しいことだから、上の場合のように穴があっては困る。したがって、∀x(A(x) -> B(x)) の真理集合が領域 D と一致するためには A* と B* の間に何らかの関係がある必要がある。

述語 A(x) -> B(x) の真理集合に穴があったのは、その部分を B* がカバーできなかったからだ。B* が A* - B* をカバーできていれば、述語 A(x) -> B(x) の真理集合は領域 D と完全に一致することになる。そういうことは起こりえる。つまり、A* が B* の部分集合であればよいのだ。A* が B* の部分集合であれば A* - B* は空集合だ。この場合は A(x) -> B(x) の真理集合は領域 D の中で穴を持たず、領域 D と一致する。

したがって、∀x(A(x) -> B(x)) の仮定の下では、A* ⊂ B* である。この時は対象 a がソクラテスであるとすると a ∈ A* なら a ∈ B* は自明である。すなわち B(a) は真であるのでソクラテスは死ぬことがわかる。

一階述語論理の1変数(アリティが 1 )の命題関数については、このように、論理的推論を含めてすべての論理学的な考察が真理集合の集合演算で理解することができる。ただし、このためには条件がある。領域 D という対象の集合がはっきりしていることと命題関数の排中律が保証されていることだ。

一階述語論理を真理集合の論理演算としてとらえると、述語論理の視覚的イメージが作りやすくなる。ただし、領域 D の存在と排中律の成立が必須の条件になる。

[PR]
# by tnomura9 | 2017-08-11 18:47 | ラッセルのパラドックス | Comments(0)

一階述語論理とは何か

一般的には一階述語論理の上に集合論が構築されているが、その立場を逆転させると述語論理の意味が分かりやすいのではないだろうかと思いついた。述語論理が数学の基礎であると考えるのではなく、述語論理とは集合の性質の一つと考えたほうが矛盾がでないのではないかと思ったのだ。そこで次のような単純なモデルの例を考えてみた。

領域 D は対象 a, b, c, ... の集合であるとする。Dの要素に対し述語 A, B, C, ... が与えられ、Dの要素の一つ a と述語 A との対から命題 A(a) が作られる。A(a) は必ず真か偽の値を取り、排中律が成立するとする。A(a) が排中律を充足するかどうかは領域 D の構造によっているので、必ずしもいつも成立するわけではないが、一階述語論理は領域 D が排中律を満たす場合にのみ領域 D に適用される。つまり、一階述語論理は領域 D が排中律を満たす場合の法則で、万物の基礎とは考えない。

任意の対象を表す対象変数 x を導入すると、述語 A は命題関数 A(x) で表現することができる。命題関数 A(x) は領域 D を定義域とし、真偽値を値域とする1変数関数である。以下の議論では述語 A を命題関数 A(x) と同一視する。

領域 D の述語が排中律を充足するとき、A(a) が真であるような命題 A を充足する対象 a, b, c の集合を考えることができる。これを真理集合 A* とすると、A* は明らかに領域 D の部分集合である。また、命題関数を使うと A* = {x| A(x)}という内包的定義ができる。排中律が仮定されているので内包的定義には特に制限はない。つまり、命題関数による内包的定義は必ず真理集合を定義できる。

複数の原子述語 A(x), B(x) があるとき、原子述語は論理結合子によって C(x) = A(x) ∧ B(x) のような複合述語を作ることができる。C(x) もまた排中律を満たし、領域 D の述語である。原子述語 A(x), B(x) および論理結合子の性質から C(x) によっても真理集合 C* を定めることができる。この場合明らかに C* は領域 D の部分集合である。したがって、原子述語 A(x), B(x), ... と論理結合子によって無数の複合述語を作ることができるが、それらの複合述語の真理集合は全て領域 D の冪集合の要素である。つまり、論理結合子による複合述語の真理集合は、原子述語の真理集合の集合演算の値と一致する。

ところで、無限の原子述語や複合述語を考えることはできるが、その真理集合は必ず領域 D の部分集合である。したがって、命題の真理集合の集合の濃度は領域 D の冪集合の要素の濃度を超えることはない。そこで、述語 A(x) の真理集合が A* で、述語 B(x) の真理集合が B* であり、A* = B* のとき、述語 A(x) は 述語 B(x) と同等であるということにする。述語 A(x) と 述語 B(x) の同等関係は反射率、対象率、推移律を満たすので同値関係である。したがって、領域 D の全ての述語の集合は同等関係で類別できる。また、述語から真理集合への写像が全射の場合、述語の同値類と真理集合は全単射になる。したがって、述語の同値類と真理集合は同一視できる。

このことから、領域 D の全ての論理的操作は、領域 D の冪集合上の集合演算として表現できることがわかる。このことは、論理的操作が結局のところ領域 D の要素の分類作業にほかならないということを示している。言葉を変えれば、対象が領域 D の集合として限定され、かつ、領域 D の命題が排中律を満たすとき、領域 D には一階述語論理が適用され。その意味は領域 D の対象の分類作業であるということができる。領域 D が集合であることと、領域 D の命題が排中律を満たすという条件を満たさない場合、領域 D には論理を適用できず、領域 D は論理的ではない(論理の法則が適用できない)。

したがって、論理があらゆる数学的対象に適用できる理由が分かる。つまり、一階述語論理の議論は領域 D の要素の分類法について述べているだけであり、領域 D の命題の性質は排中律を除いて抽象化されてしまう。このため、多くの領域 D の無数の命題に対し一階述語論理による議論ができるのだ。

素朴集合の世界の領域を「帰属関係が定義された対象の集合」と考えた場合、「自分自身を要素として含まない集合の集合」という述語は排中律をみたさない。したがって、素朴集合には一階述語論理を適用できず、素朴集合の構造は論理的ではないことが分かる。一方、整数の場合は領域 D は集合であり、整数の演算についての議論は排中律を満たしているので論理が適用できるのだ。

ラッセルのパラドックスが発生するのはこのような素朴集合論の領域 D を「帰属関係が定義された対象の集合」という定義で対象のネットワークとして捉えた場合の特異な性質によるものであり、集合論の本質的な瑕疵とは言えないのではないだろうか(これについては、このブログの「集合 論理 クラス」という記事で議論した)。論理学を学ぶ上で一階述語論理を上のような観点で捉えれば、ラッセルのパラドックスについて最初に触れなくても論理学をきちんと組み立てる事ができるような気がする。論理は万能ではなく、領域 D に適用できるかどうかは領域 D の構造に依存しているのだ。


[PR]
# by tnomura9 | 2017-08-09 06:40 | ラッセルのパラドックス | Comments(0)

理論と論理

ある理論が論理的かどうかを判定するにはどうすればいいかを考えてみた。素朴集合論の世界には論理は適用できないが、それはなぜなのかという疑問から発生した問だ。そこで理論と論理の関係をを次のように考えてみた。今までの記事で何度も主張してきたが、少し整理が必要だと思えたからだ。

まずは、領域 D は何らかの理論の対象 a, b, c, ... の集合であるとする。

また、対象 a, b, c, ... の属性を表す述語を A, B, C, ... で表す。

述語と対象を組み合わせると A(a) などの命題ができる。命題は真が偽のどちらかの値をとる。対象 a が述語 A を充足していれば A(a) は真で、そうでなければ A(a) は偽である。

述語 A を充足する対象の集合を述語 A の真理集合であるといい A* で表す。明らかに A* は領域 D の部分集合である。したがって、真理集合を全て集めたものは領域 D のべき集合になる。

ところで、対象 a が命題 A を充足することと、対象 a が真理集合 A* の要素であることとは同値である。したがって、述語 A は述語の真理集合 A* と同一視できる。

対象 a に対する述語 A は無数に考えることができるが、命題 A(a) の真偽について考えると、述語 A の真理集合と述語 B の真理集合が等しいとき、述語 A と述語 B は論理的には同等と考えることができる。また、この同等の関係は反射律、対称律、推移律を満たす。したがって領域 D の述語は同等関係によって類別され、論理的に個別の述語は真理集合の数すなわち D のべき集合の要素数しかない。そこで、真理集合の集合を領域 D の述語空間 P と呼ぶことにすると、命題は領域 D の対象と述語空間 P の要素の対で表すことができる。この場合、対象 a が真理集合 A* の要素であれば、対象 a と述語 A* からなる命題は真であり、対象 a が真理集合 A* の要素でなければ命題は偽である。

また、述語空間 P は集合演算の 和、積、差、補集合について閉じでいる。どの演算の値もすべて述語空間 P の要素であるからだ。したがって、領域 D についてのすべての述語の論理演算は述語空間 P の集合演算に変換できる。

このように、ある論理の領域 D についての論理的な操作はその述語空間 P の集合演算に置き換えることができる。ある理論に論理演算が適用できるかどうかは、その理論の述語すべてが述語空間 P に対応付けることができるかどうかにかかっている。

素朴集合論の世界では、その要素である集合についての述語空間を素朴集合論の世界自身のなかに見つけ出そうとしたが、どうしても素朴集合論の世界内部の集合では表せないクラスという述語が存在するため、論理的演算のできない述語が発生してしまったのだ。

追記

ここで言いたかったのは、領域 D の述語は領域 D の冪集合であるということだ。それは領域 D の要素と領域 D の部分集合との対を作れば命題の真偽を決定できることからも分かる。

素朴集合論の領域 D を「属性の定義された対象の集合」として捉えると、領域 D の全ての部分集合を領域 D の中に求めなくてはならなくなるが、それは不可能だ。なぜなら、領域 D の濃度よりその冪集合の濃度のほうが大きいからだ。ラッセルの集合のような述語は領域 D の定義に収まらない領域 D の部分集合だ。しかし、領域 D に定義された集合を含み領域 D では定義できない部分集合を含めた広義のクラスとしての領域 D の冪集合を考えると、広義のクラスでは領域 D の全ての述語に対し論理操作を行うことができる。

ラッセルのパラドックスは素朴集合論の本質的な矛盾というよりは、素朴集合の世界を「属性の定義された対象の集合」と定義することによる表現力不足がその原因だったのだ。

[PR]
# by tnomura9 | 2017-08-02 22:02 | ラッセルのパラドックス | Comments(0)

素朴集合論の拡張

個体の集合を領域 D とする。領域 D の要素である個体 a, b, ... には属性があり、述語 A はその属性を表すものとする。

個体と属性は対になって命題 A(a) を作るが、この命題には真偽値が割り当てられる。個体 a が述語 A という属性を持っていれば命題 A(a) は真であり、そうでなければ命題 A(a) は偽である。

述語 A との対で真になる個体の集合を A の真理集合といい A* で表す。真理集合 A* は領域 D の部分集合であり、領域 D のべき集合の要素である。

いま A と B という述語があり、その真理集合 A* と B* が等しければ、述語 A と述語 B は同等であり A ~ B で表す。同等な述語の真理集合は等しいので A と B は述語論理的に同一視することができる。すなわち、領域 D については、同等な述語を同一視することによって、そのべき集合の要素数に等しい述語しかないということができる。すなわち、領域 D の述語は真理集合で尽くされる。

領域 D の部分集合同士の集合演算による結合はやはり領域 D の部分集合である。したがって、論理演算は、領域 D のべき集合について閉じている。また、述語についてのすべての論理演算は真理集合の集合演算に翻訳できる。したがって、領域 D のすべての論理演算は領域 D のべき集合上で演算可能である。

そこで、適当なサイズの「互いに帰属関係を定義された個体の集合」を考えてこれを領域 D とする。また、領域 D のべき集合を T とする。領域 D が有限であればあきらかに T の要素数は D よりも大きい。また、領域 D に関する論理は T の要素の集合演算である。これは領域 D の要素である個体についての述語論理がすべて T の要素の論理演算に置き換えることができることを示す。すなわち、領域 D の論理は集合 T だと言える。

例えば、領域 D が {a, b, c} であったとする。そうして a = {a, b, c}, b = {c}, c = {a, b} だったとする。これは a, b, c 3つの個体で {a, b, c}, {c}, {a, b} という領域 D の部分集合を表している。しかし、{a, b, c} の個体についての述語すなわち T の要素は a, b, c の3つでは表せない。なぜなら T = {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} だからである。一方 T の要素は D = {a, b, c} の要素についての可能なすべての述語を含んでいる。また、T の要素間の集合演算は領域 D のすべての要素についての論理演算を表すことができる。

このシリーズの記事で述べたように D =「帰属関係の定義された個体の集合」の要素では D のすべての部分集合の一部しか表現できない。したがって、D の要素に論理を適用しようとしても適用できない場合がある。しかし、D のべき集合である T なら余すところなく D の要素である集合についての述語論理を展開できる。したがって、D の述語論理については T で転嫁し、そのうち D の要素が表す集合として定義されているものには「集合」という名前を与え、その他の D の述語である T の要素については「クラス」と呼んで「集合」区別する。このとき T の要素は「集合」と「クラス」を合わせた「広義のクラス」と考えることができる。素朴集合論に対する述語論理は T の「広義のクラス」の上で余すところなく実現できる。このとき、「集合」と「クラス」の違いはなんだろうか。それは「集合」が D の要素の外延として定義できるのに対し「クラス」にはそのような定義がない。「クラス」はただ D の要素の述語としてだけ存在するというところだ。

このように素朴集合論の集合を「広義のクラス」に拡張することで、素朴集合論に述語論理を適用することができるようになる。例えばラッセルの「自分自身を要素として含まない集合の集合」という述語に対応する D の部分集合は、D の要素ではない T の要素として表現することができる。このクラスが自分自身を要素として含むかどうかの議論はできない。なぜならそれは T の要素ではあるが、領域 D の要素ではないため自分自身というものを持たないからだ。

素朴集合論の世界を D =「帰属関係の定義された個体の集合」と考えたときは表現力の不足から述語論理が適用できないが、これを D のべき集合である T に拡張することで述語論理を余すところなく適用できることがわかる。

[PR]
# by tnomura9 | 2017-08-01 21:58 | ラッセルのパラドックス | Comments(0)

述語論理とは何か

1変数命題関数の述語論理と集合との相性がよさそうだったので、それを利用して述語論理とは何かを考えることができるのではないかと思いついた。そこで、述語論理を個体の集合に適用することを考えてみた。このときにリアルワールドの個体とそれを指し示す記号である論理の世界を分けて考えるのが分かりやすい。

まず、述語論理を適用するリアルワールドの個体の集合を領域 D とする。そうして、D の要素である個体を表す記号を個体定数 a, b, c, ... とする。領域 D と個体はリアルワールドに属しているが、個体定数は記号の世界に属する。個体定数は個体ではないが、個体の名札のようなもので、個体の記号(表現)である。

つぎに個体にはいろいろな性質(属性)がある。「ソクラテスは人間である」という場合、ソクラテスは個体であり、人間であるというのは個体の属性である。個体と属性の組み合わせは一つの主張を表している。これを命題という。この例の場合ソクラテスが人間であれば、命題は真であり、そうでなければこの命題は偽である。ソクラテスが人間かどうかというのは明らかにリアルワールドでの問題だ。

このリアルワールドの属性にはさまざまなものがあるのでそれを記号 A, B, C, ... で表すことにする。A, B, C, ... は個体の性質につけられたラベルである。これらは、記号の世界に属しているので、これを述語と呼ぶことにする。個体と述語の組み合わせは一つの主張を表すのでこれを A(a) で表し、これをリアルワールドの命題と同一視して命題と呼ぶ。この場合の命題は記号の世界の文字列であるが、リアルワールドの命題と同じ命題と呼んでも混乱はないだろう。

述語と個体の組み合わせは A(a) に限られない。A(b), A(c), ... などいろいろな個体との組み合わせが考えられる。そこで、特定の個体ではないが一つの個体を表す記号として個体変数 x, y, ... を考え、これを個体変数と呼ぶことにする。個体変数を使った命題 A(x) は命題ではなく、x というプレースホルダーを個体定数で置き換えたときに A(a) のような命題となる。これを命題関数と呼ぶ。

命題関数 A(x) は特定の命題を表してはいないが、個体定数を代入することによって様々な命題を作り出すことができる。これらの命題が指し示すリアルワールドの命題はあるときは真になり、あるときは偽となる。記号列としての A(a) の真偽はそれが指し示すリアルワールドの命題の真偽と一致する。そこで A(x) を真にする個体だけを集めると、それは D の部分集合になる。したがって、命題関数 A(x) はこの部分集合を表していると考えることもできる。この個体の集合は述語 A と組み合わされると真な命題を作る個体の集合であるから、これを A* であらわし、述語 A(x) の真理集合と呼ぶことにする。

ここで、もう一度リアルワールドと記号の世界の区別をはっきりしておく。領域 D や、 個体や、個体の属性や、リアルワールドの命題はリアルワールドの世界に属している。また、個体記号や、述語や、命題や、命題関数は記号の世界に属している。このように両者の境界をはっきりさせることでその関係性が明確になる。

例えば A(a) という記号世界の命題には真偽値を問うことができるが、その真偽値を決定するのはリアルワールドの個体と述語の関係性である。したがって、A(a) という命題が真であるか、偽であるかはリアルワールドの問題だ。述語論理学では命題変数 A(x) の個体変数 x を個体記号 a で置き換えたものが必ず真であるか偽であるという排中律を想定しているが、排中律が存在しているかどうかは、命題関数 A(x) ではなくリアルワールドの構造による。言い換えれば排中律が成立していないリアルワールドの個体には述語論理を適用できない。素朴集合論に述語論理を適用させようとするとパラドックスになるのは述語論理の問題ではなく、素朴集合論の世界を「帰属関係の定義された個体の集合」と定義するときのリアルワールドの構造の問題だ。この意味でラッセルのパラドックスは述語論理の矛盾を示しているわけではない。

また、リアルワールドには多種多様の属性があり、それに対応する命題があるが、命題の真偽値を問う述語論理の立場からは様々な述語 A(x) が定める真理集合 A* の数は限られてくる。すなわち、領域 D の冪集合の要素の数を超えることはない。リアルワールドの多様な述語も述語論理の立場からは、真理集合が同じであれば同じ命題として扱うことができる。したがって、リアルワールドへの述語論理を適用するには、実質、領域 D の冪集合の要素数の述語があれば十分である。

ところで、述語論理には要素命題を結合して複合命題を作るための論理結合記号がある。要素命題を結合して作られた複合命題もやはり命題である。また、述語 A(x), B(x) に論理結合記号を適用した A(x) -> B(x) のような複合的な述語も個体変数を置き換えることで命題になり真偽値を問うことができるのでその真理集合がある。さらに、その真理集合は領域 D の部分集合である。したがって、領域 D の冪集合の要素を表す真理集合の記号 A*, B*, ... の集合は論理結合記号について閉じている。詳しい議論は述べないが、このことは領域 D の冪集合が集合演算について閉じていることと同値である。

このことから1変数命題関数の述語論理は、領域 D の冪集合の集合演算と同値であることが分かる。すなわち、領域 D についての全ての論理的操作は、その冪集合の要素間の集合演算に翻訳できることがわかる。

1変数命題関数を含む述語論理は何かという問いに対しては、領域 D の冪集合の要素に集合演算を適用することだと答えることができる。すなわち、個体の集合である領域 D があるとき、述語論理的には領域 D のべき集合の要素は、領域 D の述語の真理集合を表す。また、領域 D の述語に関する論理的な操作は、べき集合の要素の集合演算と同一視できる。ただし、これが成立するためには述語と個体からできる命題 A(a) について排中律が成立する必要がある。これについては、述語論理の問題ではなく、領域 D の構造の問題になる。

[PR]
# by tnomura9 | 2017-08-01 06:23 | ラッセルのパラドックス | Comments(0)

1変数述語論理と集合

1変数の命題関数に関する述語論理は、集合と相性がいい。

述語論理で扱いたい対象の集合 D を領域と呼ぶことにする。D は一般的な意味の個体の集合だ。たとえば動物の集合のようなものだ。また、領域 D の要素を個体と呼ぶことにする。領域 D が動物の集合のとき、ソクラテスは個体だ。論理学の命題は記号(表現)であるから、これらの個体を表す記号が必要だ。これを a, b, c, .. などで表すことにして、個体定数と呼ぶことにする。個体定数は記号(表現)だ、つまり一般的な感覚でいう(文字)記号である。これらは記号内容として領域D の要素である個体を指し示す。すなわち、個体記号 a の意味は領域 D の特定の個体である。

論理学を考えるときに、命題を記号表現の列としてとらえ、その命題の意味を命題の記号内容として捉える記号論的な考え方は、命題論理学の意味論を考える上で重要だ。ところで、個体変数は個々の個体を特定しているが、それ以外に、個体一般を指すような記号表現も必要になる。個体変数 x はそのような記号表現である。x は特定の個体を指し示しているわけではなく、領域 D のどの個体でもいいが一個の個体を指し示している。したがって、x の意味として領域 D のどの個体も当てはめることができる。

「ソクラテスは人間である」という命題は、ソクラテスという個体の性質が人間であるということを意味している。この命題の「人間である」という部分を取り出したものを述語という。この述語単独では意味を形作ることができない。述語は主語である個体と組み合わされて初めて意味が生まれる。そこで「人間である」という述語を A という記号で表すことにし、ソクラテスという個体を a で表されているとすると、A(a) は「ソクラテスは人間である」という命題を表していることになる。A(a) はソクラテスが人間であるという意味を指し示しているが、これはまた、その主張が真であるか、偽であるかを判断できる命題でもある。A(a) の場合これは真である。論理学では個々の命題の内容よりもその命題が真であるか、偽であるかにだけ焦点をあてることが重要視される。したがって、論理学では A(a) の意味はその命題が真である、または偽であるかということだけだ。

「ソクラテスは人間である」という命題の「人間である」という述語はソクラテス以外の個体との組み合わせを作ることができる。アリストテレスという個体を b で表すことにすると、A(b) は「アリストテレスは人間である」という命題になる。これも真である。そこで主語の部分を個体変数にすることを考えてみる。すると、A(x) という文ができるが、この文には真偽値を当てはめる事はできない。A(x) は x を個体定数 a や b に置き換えたときに初めて意味を持つ。A(x) は変数 x を任意の個体定数で置き換えることができるのでこれを命題関数と呼ぶ。

命題関数 A(x) はその意味としての真偽値をもたないが、領域 D の全ての個体について A(x) が真になるか偽になるかをテストすることによって、A(x) を真にする領域 D の個体を選び出すことができる。これは、領域 D の部分集合である。これを命題関数 A(x) の真理集合 A* と呼ぶことにする。ひとつの述語には、命題関数 A(x) が対応し、命題関数 A(x) には真理集合 A* が対応する。したがって、「人間である」のような述語の意味を、真理集合とみなしても良いが、これは統語論から直接的に導き出される意味というよりは、間接的な操作により得られる意味である。また、命題関数 A(x) は述語と同一視される。

ここで述語論理で使う記号とその意味を対比させてみる。

領域 D ---> 論理学を適用する個体の集合
個体定数 a, b, c, ... ---> 領域 D の個体を表す記号(表現)
個体変数 x, y, ... ---> それぞれを個体変数で置き換えるためのプレースホルダー
述語 A, B, C, ... ---> 領域 D の個体の持つ性質
命題 A(a) ---> 個体 a が性質 A を持つことを表す記号。この記号の意味(記号内容)は真偽値になる。
命題関数 A(x) ---> 命題変数を命題定数に置き換えることによって真偽値の意味をもつ記号列。述語と同一視される。また、命題関数は領域 D の部分集合である真理集合 A* を定める。

きちんと表現しようとするとごちゃごちゃとしてくるが、ポイントは、領域 D の個体が個体定数 a, b, c, ... で特定できることと、述語 A(x) が領域 D の部分集合を特定できることである。つまり、命題 A(a) が真か偽かという命題論理での議論が a ∈ A* という領域 D の集合の性質に反映されるということだ。命題論理の諸法則が、領域 D という集合に反映される。つまり、領域 D という集合における集合演算が述語論理の典型的なモデルであるということだ。集合の考え方と論理学とは相性が良いのだ。

さて、述語論理額と命題論理学のおおきな違いは、述語論理額では全ての x について P(x) であるとか、ある x について P(x) であるなどの量化記号を使った命題の記述ができることだ。それぞれ次のように記述する。

∀x.P(x)
∃x.P(x)

これは命題関数 A(x) とは違ってれっきとした命題である。つまり真偽値を問うことができる。∀x.P(x) については、命題変数 x を領域 D のどのような個体定数で置き換えても P(a) が真となる場合に真値をとる。したがって、P(x) の真理集合を P* とすると P* = D であることを意味している。∃x.P(x) については、P(x) が真となるような個体が少なくとも1つは存在するとき真となる。これを集合で表すと P* /= {} である。

さらに領域 D の個体が述語 A(x) の命題変数に置き換えられたとき必ず真または偽の値をとれば、領域 D の中で排中律が成立する。このとき¬A(x) の真理集合 (¬A)* は A の補集合になる。ここで考えないといけないのは、A(x) が必ず真か偽の値を取るかどうかは、述語 A の性質によるということだ。理論によってはラッセルのパラドックスのように命題 A(a) が真とも偽とも取れない場合があるかもしれない。しかし、それは述語論理の問題ではなく、リアルワールドの述語の性質によるものなのだ。

ラッセルのパラドックスについて言えば、それは集合の領域を「所属関係の定義された個体の集合」としたために、領域 D の個体が完全に独立しているとは考えられなくなるために発生したのであって、論理学の罪ではない。述語論理学が対象としているのは、領域 D の個体に相互関係がなく独立で命題 A(a) が必ず真か偽であるような排中律の成立するシステムだ。現実にはそのようなシステムは稀で、領域 D の個体間には複雑な相互作用が存在するのが普通だろう。そのような場合には論理学がそのようなシステムに適用できるかどうかはその相互作用の性質次第ということになる。

さて、ここまでの議論で述語論理の命題を命題論理のそれに置き換えることが可能になる。また、それを領域 D の集合の言葉に置き換えることができる。論理結合子を含む複合命題についてもそれを集合の言葉に置き換えることが可能だ。さらに複数の命題変数を含む命題関数についても領域 D を領域 D の直積集合に置き換えて議論すれば良い。いずれにせよ、述語論理学はそのまま集合の言葉に置き換えることができる。ただし、領域 D に排中律が成立するという条件は必須だ。

こうしてみると、領域 D に述語論理が適用できるかどうかについては結構領域 D の構造についての制限が多いことが分かる。少なくとも個体の集合としての領域 D の存在が必要だし、領域 D の個体どうしは、述語を充足するかどうかについて独立である必要がある。ある個体が述語を充足するかどうかが、その個体自身や他の個体のその術語の充足可能性に影響を与えてはいけない。しかし、現実にこのような条件が満たされることは稀で、領域 D の要素には複雑な相互作用がみられるのが普通だ。たとえば、素朴集合論の領域 D を「帰属関係が定義された対象の集合」ととらえると、この領域 D には論理が適用できない。むしろ、論理が適用できる領域 D は特殊な存在なのかもしれない。幾何学の定理が論理によって演繹されているために、数学の根底として論理学が論じられているが、それはたまたま幾何学の構造が論理と整合的だったからに過ぎないのではないだろうか。

論理と集合との対比を行ってきたが、ここには、「自分自身を要素として含まない集合の集合」というような述語はみられない。このような述語は集合を「帰属関係の定義された対象の集合」ととらえたために起きる副次的なものだ。論理と集合の対応関係を見る際には、このような述語を考える必要はない。論理=集合という議論はパラドックスなしに議論することができる。

[PR]
# by tnomura9 | 2017-07-30 01:35 | ラッセルのパラドックス | Comments(0)

述語論理の意味論

命題論理学の場合原子命題 A は真値か偽値を持つという意味論が分かりやすいので、命題論理の仕組みをイメージするのが容易い。原子命題を論理記号で結合した複合命題の真偽値は真理値表を作成すれば簡単に調べる事ができる。

しかし、このような命題論理学の応用範囲は論理回路の設計以外には比較的限られている。実用上論理的な推論の道具となるのは述語論理だ。したがって、述語論理の意味論を考えることは、論理についての理解を容易にするはずだ。そう思って論理学の教科書をのぞいみたがお手上げだった。

論理学を集合のイメージでとらえる事ができれば便利だと思ったが、論理の仕組みはそう簡単ではないようだ。素朴集合の世界を「帰属関係の定義された個体の集合」と考えると、そのような個体の集合である個体領域 D には述語論理が構築できない。D は述語論理のモデルにはならない。そうであれば、個体領域 D を拡張して述語論理のモデルになるようにすれば、素朴集合論の簡潔な集合のイメージを利用できて、論理も適用できると考えたが、そう簡単にはいかないようだ。

直感的な発想だけにたよらず、真面目に勉強しなくては。

[PR]
# by tnomura9 | 2017-07-28 07:07 | ラッセルのパラドックス | Comments(0)

ラッセルのパラドックスとは何か

「自分自身を要素として含まない集合の集合」を考えるとパラドックスになってしまうというラッセルのパラドックスには長年悩まされ続けてきた。数学の根底は集合の考え方と論理にあると思って論理学や集合を学び始めると最初のところにパラドックスが紹介してあり、足元から土台が崩れてしまう。

不満の理由はふたつあった。一つは集合を物の集まりという物と考える素朴集合論ではパラドックスが発生する理由が分からなかったこと。もう一つは公理的集合論では集合とは何かという視覚的なイメージが作れなかったことだ。

前回の「論理と集合」という記事でその不満がほぼ解決されたと思うが、宣伝のため、簡単にその要点をまとめてみた。

第1は、ラッセルのパラドックスは、素朴集合論の世界を「所属関係が定義された対象の集合」という対象のネットワークと考えるとらえ方が、その発生原因であるということだ。自分自身を要素として含まない集合の集合というような述語は、素朴集合の世界をこのような対象の所属関係によるネットワークでとらえることによる副産物である。つまり、「所属関係が定義された対象の集合」では表現力が不足して、その対象の集合の全ての部分集合を表現できないのだ。

第2は、論理は、数学的対象のうちそのべき集合が全て扱えるものにだけ適用されるということだ。論理とは集合演算の別名なのだ。ある数学的対象の集合のべき集合が完全に記述できないような体系には集合演算は適用できず論理は適用できない。素朴集合論を「所属関係が定義された対象の集合」ととらえる限り、そのネットワークでは対象の集合の部分集合を部分的にしか表現できないので、論理を適用することはできない。

第3はこのような見方によって「クラス」の定義が明確になる。「クラス」とは集合の世界を「所属関係が定義された対象の集合」のようなネットワークでとらえたときに、そのネットワークでは表現できなかった部分集合をさす。素朴集合論に論理を適用する場合、「所属関係が定義された対象の集合」に現れる「集合」に加えてそこに現れることのできなかった部分集合である「クラス」を合わせた「広義のクラス」に対して適用させなければならない。

集合、クラス、論理をこのようにとらえると随分視界がすっきりする。

たとえば、「自分自身を要素として含む集合」や「自分自身を要素として含まない集合」は「所属関係の定義された対象の集合」の中に存在し、対象はそのどれかであるはずなのに「自分自身を要素として含まない集合の集合」がパラドックスになるという不満に対しては、「所属関係の定義された対象の集合」というネットワークの要素である対象としてはそのような集合は存在しないが、そのようなネットワークの外に「クラス」として存在すると考えることができる。なぜなら、そのようなネットワークでは、そのネットワークの対象の集合の部分集合全てを表現することはできないからだ。「自分自身を要素としない集合の集合」は確かにネットワークに現れる対象の部分集合だが、それを対象のネットワークの内部で表現することはできない。

くわしい議論については前回の記事の「論理と集合」やその関連リンクに紹介している。

追記

ラッセルのパラドックスの深刻さは、論理と集合が表裏一体のものであるという直観が見事に裏切られたことにある。素朴集合論には論理を適用できないことが分かったのだ。しかし、それは、素朴集合の考え方の中に暗黙のうちに集合の全体を「帰属関係の定義された対象の集合」で表せるという前提があるからに過ぎない。{a, b, c} というような対象が3個しかない体系でも a, b, c の帰属関係では {a, b, c} の全ての部分集合を表すことはできない。論理と集合の間の齟齬は、集合の世界を「帰属関係の定義された対象の集合」で表現しようとしたことによる副次的な現象なのだ。集合を表す記号表現を {a, b, c} の内に求めなければ、論理と集合の関係は直観通り整合的なものになる。{a, b, c} の冪集合に全単射な対象の集合 {h, i, j, k, l, m, n, o} を考えると、{a, b, c} の全ての集合についての集合演算と論理が {h, i, j, k, l, m, n, o} の上で成り立つからだ。このように、論理と集合の間の関係は、集合を記号表現、集合の外延を記号内容と考える記号論的な観点から解きほぐすことができる。

[PR]
# by tnomura9 | 2017-07-24 06:30 | ラッセルのパラドックス | Comments(0)

論理と集合

論理とは集合演算のことだ。従って、ある数学的対象について、その全ての部分集合を表現できない理論では、その数学的対象に論理を適用することができない。

素朴集合論の場合、集合の世界を「帰属関係の定義された対象の集合」と定義したために、その対象の集まりの全ての部分集合の一部分しか表現することができない。このため、素朴集合論には論理を適用することができない。前回の記事で述べたように、素朴集合論にラッセルのパラドックスが発生したのは、「帰属関係の定義された対象の集合」では、その対象の集合の全ての部分集合を表現できないからだ。

一方で自然数の集合について考えてみる。自然数の集合の冪集合は0以上1未満の実数と全単射を作ることができる。従って、自然数の集合についての集合演算は実数の上で全て記述することができる。このような場合、自然数の集合には論理が適用できるのだ。つまり、自然数は奇数かまたは偶数であるという論理的な推論は、自然数の集合を N、奇数の集合を O、偶数の集合を E としたとき、

N = O ∪ E かつ O ∩ E = ∅

のように集合の言葉で表現することができる。また、数学的帰納法についても、述語 P(x) について

P = {x | P(x)}

とすると、

1 ∈ P かつ (k ∈ P ならば k+1 ∈ P)

であるとき、ペアノの公理から、

1 ∈ N かつ (k ∈ N ならば k+1 ∈ N)

なので

1 ∈ N ならば 1 ∈ P

である。また k が 1 以外の自然数のときは、k ∈ N のときは 1 から始めて k に至るまでの数がみな N の要素であることがわかるが、同様に 1 から k までの数が P の要素であることもわかるので、

k ∈ N ならば k ∈ P

したがって、

N ⊂ P

となる。また、明らかに P ⊂ N なので、結局

N = P

となり述語 P(x) を充足する自然数の集合は全ての自然数の集合であることが分かる。

このように自然数の集合については、その冪集合の存在が保証されているので、論理を集合の関係として論じることができる。ところが、「帰属関係の定義された対象の集合」ではその集合の冪集合を全ては表現できないためその全ての集合演算を論理として記述することができない。

ある数学的対象に論理と集合を適用させたいと考える場合は、最低その対象の部分集合の全て、すなわち冪集合が存在することが必要条件なのだ。素朴集合論のラッセルのパラドックスを回避するために、集合に様々な公理による規則を適用することによって、数学的対象に集合と論理を共存させようと試みられているが、もっと単純に、その数学的対象をその全ての部分集合を表現できるような体系に構築するというアプローチも考えることができるのではないだろうか。

たとえば反復的集合観という考えが ZFC 集合論のモデルになるらしい。詳しくは「反復的集合観と公理的集合論」というページに紹介してあるが、要するに、空集合から初めて、その段階的にその集合のべき集合の要素を付け加えて集合を増やしていく方法だ。この手続を引用すると次のようになる。

  • 段階0: 何もない。
  • 段階1: 段階0までの集合を要素とするあらゆる集合を考えて、それらを追加する。
  • 段階2: 段階1までの集合を要素とするあらゆる集合を考えて、それらを追加する。
  • 以下同様。

  • この方法なら、どの段階の集合の要素も、前の段階の集合の全ての部分集合を表現することができる。言葉を変えると前の段階の集合を論理的に扱うことができる。他の数学的対象も同じようなやり方で論理化できるのではないだろうか。

    ラッセルのパラドックスを回避するために集合とは何かという議論が変に難しくなってしまっているが、ラッセルのパラドックスの発生原因が集合の世界を「帰属関係の定義された対象の集まり」と定義する方法の不完全さによる副産物であると考えると、集合を素朴に捉えながら同時に論理的にも扱いやすいように説明できるのではないだろうか。

    このブログ内の関連記事



    [PR]
    # by tnomura9 | 2017-07-16 12:09 | ラッセルのパラドックス | Comments(0)

    ラッセルの集合(クラス)の存在証明

    素朴集合論の世界を「帰属関係の定義された対象のあつまり」と捉える方法では、ラッセルのパラドックスによって「自分自身を要素として含まない集合の集合」が矛盾を起こすことを示す。

    いま、「帰属関係の定義された対象」a, b, c, ..., が無限に存在するとする。そこで、a, b, c, ..., を縦横に並べて行の対象が列の対象を要素として含まないときに 0, 行の対象が列の対象を要素として含むときに1となるような演算表を考える。すると、この演算表の行に現れる数列、たとえば 0, 1, 1, .., などは対象 a, b, c, ... の集合の部分集合を表している。すなわち、各行の a, b, c, ..., の外延である a, b, c, の集まりは、演算表の行の数列で表されることが分かる。

    このとき、演算表の対角線部分はある対象が自分自身を要素として含むか含まないかを表す。対角線部分の数が 0 であればそれは対応する対象が自分自身を要素として含まないことを示し、1 であれば対応する対象が自分自身を要素として含むことを示す。そこで、対角線部分が0であれば1、1であれば0となるような数列を考えると、これは a, b, c, ..., の集まりの部分集合である。また、これは「自分自身を要素として含まない集合の集合」を表している。しかし、この集合は演算表の中に現れることはない。それは、対角線部分で演算表のどの行の集合とも異なるからだ。

    このことをラッセルのパラドックス風に表現することもできる。そのような集合に対応する対象を r とする。この r の対角線部分の値は 0 とも 1 とも言うことができない。なぜならば、r の対角線部分が 0 であれば、r は自分自身を要素として含まない集合であるので、r に含まれるすなわち r の対角線部分は 1 でなければならないので矛盾するし、r の対角線部分が 1 であると仮定してもやはり矛盾するからである。従って、このような r は演算表に現れる事はできない。

    以上の議論は、しかし、自分自身を要素として含まない集合の集合が存在しないことを意味しない。なぜなら、対角線部分を反転させてできる数列は明らかに a, b, c, ... の部分集合を表しているからだ。ただし、この部分集合は「帰属関係を定義された対象の集まり」の中に含まれることはない。すなわち、a, b, c, ... からなる集合全てを表現するには「帰属関係を定義された対象の集まり」では表現力が不足していることを示している。「自分自身を要素として含まない集合の集合」はこのような対象の内部には見つけられないが、このような対象の集まりの外部には表現可能なのである。

    実際、a, b, c, ... の一つの部分集合は 0.0101.. のような0以上1未満の2進数の無限小数との全単射を作ることができる。この全単射関係によって a, b, c, ... の全ての部分集合の集合演算を0以上1未満の実数軸の上で考えることができる。ただし、上に述べた演算表ではその全てを表現することができない。ラッセルのパラドックスはこの穴ぼこだらけの演算表に現れた現象を示しているにすぎないのだ。

    このような演算表に現れない a, b, c, ... の部分集合を集合ではなくクラスと呼ぶことにすると、演算表上の部分集合と演算表には現れない部分集合であるクラスとで a, b, c, ... の全ての部分集合をカバーすることができるため、集合の世界に矛盾なく論理を導入することができる。「帰属関係の定義された対象のあつまり」は表現力の不足から論理が構築できないが、集合というものの集まりをクラスにまで拡張することで全ての集合演算を行うことができる。

    集合の世界に論理を持ち込むには、集合とクラスをあわせた広義のクラスが必要なのだ。

    追記

    「自分自身を要素として含む集合」や「自分自身を要素として含まない集合」は集合本来の概念とは異なるのではないだろうか。それは集合の世界を「帰属関係の定義された対象の集まり」という対象のネットワークで表現した方法による副産物のような気がする。そのため、上で議論したような表現力の不足する集合の世界が生まれてしまったのではないだろうか。だから、公理的集合論のような複雑な規則で縛られた公理体系よりもっとシンプルで論理とも相性の良い集合論があるような気がする。単なる直感的な印象だが。

    追記その2

    集合 a, b, c, ... の全ての部分集合を表すのに「帰属関係の定義された対象の集まり」では表現力不足であることは分かったが、それではそのような集合のネットワークから漏れた a, b, c, ... の部分集合は一体どれほどあるのだろうか。これは a, b, c, ... の部分集合が0以上1未満の実数と全単射で対応することを利用すると分かる。a, b, c, ... の外延に対応する a, b, c, ... の部分集合をそれぞれ 0 以上 1 未満の実数に対応させると、それは小さい方から整列させることができる。もちろん、a, b, c, ... は無限にあるのでこの操作は無限に終わらない。しかし無限に整列操作が行われていてもその整列された無限集合の隣り合う2つの実数は異なる実数である。ところが、実数の性質から相異なる2つの実数の間にはその2つの実数と異なる実数が存在する。つまり、「帰属関係の定義された対象のあつまり」で表現できない a, b, c, ... の部分集合は無限に存在することがわかる。

    [PR]
    # by tnomura9 | 2017-07-08 06:10 | ラッセルのパラドックス | Comments(0)