述語と項とは何か:命題論理を超えた表現力 - 記号論理学

命題論理では、命題を分解不可能な最小単位として扱いました。しかし「すべての人間は死ぬ」や「ある数は素数である」のような文は、命題論理では適切に分析できません。述語論理は、命題の内部構造を分析することで、より豊かな表現力を持つ体系です。

命題論理の限界

命題論理では「ソクラテスは人間である」と「プラトンは人間である」は、まったく無関係な2つの命題として扱われます。「人間である」という共通の性質を捉えることができません。

また「すべての人間は死ぬ」のような全称命題や、「ある数は偶数である」のような存在命題も、命題論理では分析できません。

命題論理

「ソクラテスは人間である」を p、「プラトンは人間である」を q とする。関連性を表現できない。

述語論理

「人間である」を述語 H(x)、「ソクラテス」を定項 s とし、H(s) と表す。構造が見える。

述語とは何か

述語(predicate)は、対象の性質や対象間の関係を表す表現です。

「x は人間である」という表現では、x は変項であり、「人間である」の部分が述語です。述語を H と書くと、「x は人間である」は H(x) と表せます。

述語は1つの対象についてだけでなく、複数の対象間の関係も表せます。「x は y を愛している」は2項述語 L(x, y) で表せます。「x は y と z の間にある」は3項述語 B(x, y, z) で表せます。

1項述語

対象の性質を表す。H(x)「x は人間」、E(x)「x は偶数」など。

2項以上の述語

対象間の関係を表す。L(x,y)「x は y を愛す」、G(x,y)「x は y より大きい」など。

項とは何か

項(term)は、対象を指し示す表現です。述語論理で扱われる「もの」を表します。

項には3種類あります。定項、変項、関数項です。

定項(constant)は、特定の対象を指す名前です。「ソクラテス」「3」「東京」などが定項です。小文字の a, b, c などで表します。

変項(variable)は、任意の対象を表す記号です。「x は偶数である」の x のように、何かが入る場所を示します。小文字の x, y, z などで表します。

定項

特定の対象を指す。a =「ソクラテス」など。

変項

任意の対象を表す。x, y, z など。量化子と組み合わせて使う。

関数項

関数(function)は、対象から対象への対応です。関数を項に適用すると、新しい項が得られます。

たとえば「x の父親」を表す関数 f があるとき、f(a) は「a の父親」という対象を指します。「x + y」のような算術的な関数もこれにあたります。

関数項を使うと、「ソクラテスの父親は人間である」を H(f(s)) のように表せます。

原子式

述語に項を当てはめたものを原子式(atomic formula)と呼びます。

H(s)「ソクラテスは人間である」、L(a, b)「a は b を愛している」、G(f(x), y)「x の父は y より大きい」などが原子式です。

原子式は述語論理の最小の命題であり、これに論理結合子や量化子を適用して複雑な式を作ります。

述語を定める

項を述語に当てはめる

原子式を得る

論理結合子や量化子で複合式を作る

述語論理の表現力

述語論理を使うと、命題論理では表現できなかった文を形式化できます。

「すべての人間は死ぬ」は、全称量化子 ∀ を使って ∀x(H(x) → M(x)) と書けます。「ある数は偶数である」は、存在量化子 ∃ を使って ∃x E(x) と書けます。

次回は、この全称量化子 ∀ について詳しく学びます。