<   2017年 08月 ( 7 )   > この月の画像一覧

∀xP(x) の真理集合

まず、簡単に述語論理のモデルの構成をさらってみる。

領域 D という対象の集合があり、その対象の性質を言明する A(x) という述語がある。また、対象 a と述語 A(x) の組は A(a) という命題であり、これは排中律によって必ず真か偽の値をとる。

このため、ある述語 A(x) について、領域 D の対象全てとの対をテストすることで、A(x) が真となるような領域 D の部分集合 A* を定めることができる。この A* は命題 A(x) の真理集合である。また、真理集合は必ず領域 D の部分集合であるから、真理集合は領域 D の冪集合の要素である。

原子述語 A(x) を論理結合子で結合して、A(x) ∧ B(x) のような複合述語を作ると、その真理集合は A* ∩ B* のように真理集合の集合演算の値となる。さらに、A* ∩ B* もまた、領域 D の冪集合の要素である。すなわち、領域 D は論理結合子と対応する集合演算について閉じている。したがって、領域 D に対する論理的な操作はすべて真理集合の集合演算に変換することができる。

こういうふうに考えると、論理の本質は、排中律の成立する領域 D の集合についての集合演算として捉えることができる。

しかし、述語論理には量化子という厄介なものがある。∀xP(x) というのは真か偽の値を持つ命題だが、これは対象と述語のペアではない。しかし、このような例外的な命題があると、上のようなスッキリした図式をつくることができなくなるので不便だ。そこで、形式的に ∀xP(x) の述語 Q(x) を考えてみることにした。そうすると、∀xP(x) = Q(a) のように命題を領域 D の対象と述語 Q(x) とのペアで考えることができ、Q(x) の真理集合を考えることができる。

しかし実際には ∀xP(x) の真偽値が対象との組み合わせで変ることはないので Q(x) はどのような対象との組み合わせでも常に真かまたは偽である。しかし、このことは同時に、Q(x)の真理集合が領域 D と一致するかまたは空集合であることを示している。また、∃xP(x) のような存在量化子を使った命題も、事情は同様である。

このように、存在量化子を使った命題についても形式的に述語 Q(x) を考えることで、全ての命題は対象と述語のペアで真理値が定まると考えることができる。このことで述語論理における命題とは何かということが定式化できるので、A -> (B -> A) のような命題論理の定理から、

∀x(A(x) -> (B(x) -> C(x))
∀x∀y(A(x) -> (B(y) -> C(x))
∀x(∀yA(y)(x) -> (B(x) -> ∀yA(y)(x))

などの定理を演繹できる。述語論理は述語の排中律を満たす領域 D の集合演算なのだと考えると、論理の応用範囲の広さの意味と、論理が適用できない対象 D はどんなものかというイメージが明確にできる。

何度も言うが、ラッセルのパラドックスは集合の世界 D を「所属関係を定義された対象の集合」という対象のネットワークで捉えようとしたために、領域 D が排中律を満たすことができないことを示しているだけだ。

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

勇者ヨシヒコ


テレビ東京公式 Youtube チャンネル

低予算冒険活劇




[PR]
by tnomura9 | 2017-08-13 21:47 | 話のネタ | Comments(0)

ソクラテスは死ぬ

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

ここで領域 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)