ビジネス

述語論理とは?意味をわかりやすく解説!(論理式:量化子:全称記号・存在記号:命題論理との違い:具体例など)

述語論理の意味と基本的な考え方
当サイトでは記事内に広告を含みます

述語論理は、数学や情報科学だけでなく、日常の文章を正確に整理する際にも役立つ考え方です。

「すべての人」「ある商品」「誰か一人」といった範囲を含む文を、記号を使って明確に表せる点に大きな特徴があります。

命題論理との違い、量化子の役割、全称記号と存在記号の読み方まで押さえると、論理式への苦手意識も薄れていくでしょう。

述語論理の意味と基本的な考え方

述語論理の意味と基本的な考え方

それではまず、述語論理の意味と基本的な考え方について解説していきます。

対象の性質や関係を表す論理

述語論理とは、対象が持つ性質や、複数の対象の間にある関係を表現する論理です。

命題論理では「今日は晴れです」のように、文全体を真か偽かで扱います。

一方で述語論理では、「人である」「晴れている」「好む」といった部分に分けて考えます。

たとえば「太郎は学生です」という文では、太郎という対象に対して、学生であるという性質を与えています。

この「学生である」に当たる部分が述語です。

対象を表す名前や記号は、論理の世界では個体や対象と呼ばれます。

述語論理を使うと、固有名詞を入れ替えるだけでは表し切れない一般的な規則も、簡潔に記述できます。

述語論理の中心は、個々の文を丸ごと真偽判定することではありません。

対象、性質、関係、そして対象の範囲を分けて扱うことにあります。

述語と変数の役割

述語は通常、アルファベットの大文字で表します。

たとえば P(x) を「xは学生である」と決めた場合、P(太郎) は「太郎は学生である」という意味になります。

このとき x は、どの対象が入るかをまだ決めていない変数です。

変数を使うことで、太郎、花子、次郎など、一人ずつ別の式を書かずに済みます。

また、R(x,y) のように変数を二つ置く述語もあります。

R(x,y) を「xはyを知っている」と定めれば、R(太郎,花子) は二人の関係を示す式になります。

性質を扱う一項述語と、関係を扱う二項述語を区別できると、論理式の構造が見えやすくなるでしょう。

P(x) を「xは偶数である」とします。

P(4) は真であり、P(5) は偽です。

ここで P は述語、x は変数、4や5は具体的な対象です。

真偽を決める対象の範囲

述語論理では、どの範囲の対象について話しているかも重要です。

この対象全体の集合を領域または議論領域と呼びます。

「すべてのxは偶数ではない」という式を考える場合、xが自然数なのか整数なのか、あるクラスの生徒なのかで意味が変わります。

領域が自然数なら、偶数も奇数も含まれます。

領域を偶数だけに限定すれば、同じ述語でも真偽の判断が変化します。

式の記号だけを追うのではなく、何を対象としているかを確認する姿勢が欠かせません。

要素 役割
個体定項 特定の対象を表す 太郎、3、東京
変数 任意の対象を入れる枠 x、y
述語 性質や関係を表す 学生である、より大きい
領域 考察する対象の範囲 自然数、利用者全体

論理式を構成する記号と読み方

続いては、論理式を構成する記号と読み方を確認していきます。

否定と論理結合子

述語論理では、基本となる述語に否定や条件を加えて、より複雑な文を作ります。

¬P(x) は「xはPではない」という否定を表します。

P(x) ∧ Q(x) は「xはPであり、かつQである」という意味です。

P(x) ∨ Q(x) は「xはPである、またはQである」と読みます。

さらに P(x) → Q(x) は「xがPならばxはQである」という条件文です。

この記号は命題論理でも使われますが、述語論理では変数を含む式に適用する点が異なります。

「学生ならば試験を受ける」のような規則を表す際には、含意の理解が特に重要になります。

自由変数と束縛変数

変数には、量化子によって範囲が決められているものと、決められていないものがあります。

たとえば P(x) だけでは、xが誰を指すのか確定していません。

このxは自由変数です。

一方、∀x P(x) のxは、「すべてのx」という表現によって範囲が指定されています。

このようなxを束縛変数と呼びます。

自由変数が残る式は、単独では文として真偽を決めにくい場合があります。

量化子で変数を束縛して初めて、明確な主張になる場面が多いでしょう。

P(x) を「xは本を読む」とします。

P(x) は、誰について話しているか未確定の開いた式です。

∀x P(x) は、領域内の全員が本を読むという主張になります。

括弧が示す論理式の構造

論理式では、括弧の位置によって意味が変わることがあります。

たとえば P(x) ∧ Q(x) → R(x) は、通常は P(x) とQ(x)がそろったときR(x)が成り立つと解釈します。

誤解を避けたい場合は、(P(x) ∧ Q(x)) → R(x) のように括弧を付けるとよいでしょう。

量化子がある式では、どこまでが量化子の対象かを意識する必要があります。

∀x(P(x) → Q(x)) と、(∀x P(x)) → Q(x) では、まったく異なる内容になります。

長い論理式を読む際は、記号を一気に理解しようとせず、外側の構造から順に確認する方法が有効です。

量化子と全称記号・存在記号の基礎

続いては、量化子と全称記号・存在記号の基礎を確認していきます。

全称量化子が表すすべての対象

全称記号 ∀ は、「すべての」を表す記号です。

∀x P(x) は、領域に含まれるすべてのxについてP(x)が成り立つという意味になります。

これは全称量化子と呼ばれます。

たとえば領域を自然数とし、P(x)を「xに0を足してもxである」と定めれば、∀x P(x) は真です。

ただし「すべての鳥は飛べる」という文は、ペンギンなどの例外があるため、現実の対象では真になりません。

全称記号を使う文は、一つでも反例があれば偽になる点が大切です。

そのため、全称命題を検討するときは、例外がないかを探す視点が役立ちます。

存在量化子が表す少なくとも一つの対象

存在記号 ∃ は、「少なくとも一つ存在する」を表します。

∃x P(x) は、領域内にP(x)を満たすxが一つ以上あるという意味です。

これは存在量化子です。

「ある生徒は英語を話せる」は、英語を話せる生徒が一人でもいれば真となります。

全員が話せる必要はありません。

日常語の「ある」は曖昧に使われることもありますが、述語論理の存在記号は存在の有無を明確に扱います。

なお、∃x P(x) は「ただ一人」ではありません。

一人だけを表したい場合は、存在と一意性を追加して記述します。

∀ は領域内の全員について成り立つことを求めます。

∃ は条件を満たす対象が一つ以上あることを示します。

二つの量化子を取り違えると、文の意味が大きく変わります。

量化子の否定と意味の反転

量化子を否定する場合、全称記号と存在記号は入れ替わります。

「すべてのxがPである」の否定は、「Pではないxが少なくとも一つある」です。

式では ¬∀x P(x) と ∃x ¬P(x) が同じ意味になります。

反対に、「Pであるxが少なくとも一つある」の否定は、「すべてのxがPではない」です。

式では ¬∃x P(x) と ∀x ¬P(x) が対応します。

この変換は量化子の否定の基本です。

「全員が参加しない」と「全員が参加しないわけではない」の違いを整理する際にも、たいへん有用でしょう。

論理式 読み方 否定した式
∀x P(x) すべてのxはPである ∃x ¬P(x)
∃x P(x) Pであるxが存在する ∀x ¬P(x)
∀x ¬P(x) すべてのxはPではない ∃x P(x)

命題論理との違いと使い分け

続いては、命題論理との違いと使い分けを確認していきます。

命題論理が扱う文全体の真偽

命題論理は、真か偽かが決まる文を、一つのまとまりとして扱います。

「雨が降る」をp、「道路がぬれる」をqと置けば、p → q のように表せます。

この方法は、複数の主張のつながりを調べる際に便利です。

しかし、「すべての会員」や「ある利用者」といった対象の違いまでは表現しにくい面があります。

命題論理は構造が比較的単純であり、論理の入門としても理解しやすい分野です。

一方で対象ごとの性質を扱いたいときには、表現力が足りないことがあります。

述語論理が扱う一般性と個別性

述語論理は、命題論理に変数と量化子を加えたものと考えると理解しやすいでしょう。

「太郎は学生です」という個別の文だけでなく、「すべての学生は学習者です」という一般的な規則も表せます。

P(x) を学生、Q(x) を学習者とすると、∀x(P(x) → Q(x)) と書けます。

このように、対象を入れ替えても成り立つ規則を記述できることが、述語論理の強みです。

個別の事実と一般規則を同じ枠組みで扱えるため、数学の証明やプログラムの仕様にも活用されています。

場面に応じた選び方

単に「AならばB」といった命題同士の関係を扱うなら、命題論理で十分な場合があります。

誰に対して成り立つのか、何か一つでも該当するのかを扱うなら、述語論理が適しています。

たとえば「ログイン済みなら閲覧できる」は命題論理的に表せます。

「すべての認証済み利用者は閲覧できる」と対象の範囲まで明示するなら、述語論理の考え方が自然です。

問題文に「すべて」「任意の」「ある」「少なくとも一つ」といった語がある場合は、量化子の利用を検討するとよいでしょう。

命題論理は文全体の真偽関係を扱います。

述語論理は対象の性質、対象間の関係、対象の範囲まで扱います。

量化子が必要かどうかが、両者を見分ける分かりやすい目安です。

述語論理の具体例と考え方

続いては、述語論理の具体例と考え方を確認していきます。

全称命題を論理式に直す例

「すべての猫は動物です」という文を考えます。

C(x) を「xは猫である」、A(x) を「xは動物である」と定めます。

この文は ∀x(C(x) → A(x)) と表せます。

猫でない対象まで動物である必要はないため、C(x) ∧ A(x) ではない点に注意してください。

条件文は、猫である対象に限定して、動物であることを要求しています。

自然言語を式に直すときは、主語の範囲と述語の内容を分けて考えると整理しやすくなります。

C(x) を猫、A(x) を動物とします。

∀x(C(x) → A(x)) は、猫であるすべての対象が動物であるという意味です。

これは猫以外の動物や、動物でない対象の存在を否定する式ではありません。

存在命題を論理式に直す例

「ある社員は二つの言語を話せます」という文も見てみましょう。

E(x) を「xは社員である」、J(x) を「xは日本語を話せる」、G(x) を「xは英語を話せる」とします。

この場合、∃x(E(x) ∧ J(x) ∧ G(x)) と書けます。

一人のxが、社員であること、日本語を話せること、英語を話せることのすべてを満たす必要があります。

存在記号の後に並ぶ条件は、同じ対象にかかるのか、別々の対象でもよいのかを確認しましょう。

この確認を省くと、文章の読み違いにつながります。

量化子の順序が変える意味

量化子を二つ以上使うときは、記号の順序が非常に重要です。

∀x∃y R(x,y) は、すべてのxについて、それに対応するyが少なくとも一つあるという意味です。

一方で ∃y∀x R(x,y) は、すべてのxに対して成り立つ、一つのyが存在するという意味になります。

たとえば R(x,y) を「xはyを知っている」とした場合、前者は人ごとに知っている相手がいればよい式です。

後者は、全員が共通して知っている同じ一人が必要になります。

この差は量化子の順序によって生まれます。

文章を式にする際には、「人ごとに一人」なのか「全員に共通する一人」なのかを丁寧に読み取ることが大切です。

論理式 意味 日常語のイメージ
∀x∃y R(x,y) xごとに対応するyがいる 全員にそれぞれ相談相手がいる
∃y∀x R(x,y) 全員に共通するyがいる 全員が同じ担当者を知っている

述語論理を理解するための学習手順

続いては、述語論理を理解するための学習手順を確認していきます。

日本語の文を要素に分ける練習

述語論理の学習では、最初から複雑な記号式を暗記する必要はありません。

まずは日本語の文から、対象、性質、関係、範囲を見つける練習をするとよいでしょう。

「すべての会員は規約に同意する」という文なら、会員という条件と、規約に同意するという述語に分けられます。

そのうえで「すべての」に全称記号を対応させます。

この順番なら、記号が単なる暗号ではなく、文章の構造を写したものとして理解できます。

特に誰についての主張なのかを意識することが、正確な式への近道です。

反例を使った真偽の確認

全称命題を理解するには、反例を探す練習が効果的です。

「すべての整数は正の数です」という主張には、0や負の整数という反例があります。

そのため、この式は偽です。

反対に存在命題では、条件を満たす具体例を一つ見つければ真だと示せます。

「偶数である素数が存在する」という主張なら、2が証人になります。

存在命題で条件を満たす対象を示すことは、証人を与えるとも表現されます。

数学・情報科学での活用場面

述語論理は、数学の定義や定理を読み解く土台になります。

「任意の正の数に対して」という表現は全称量化子に関係し、「ある数が存在して」は存在量化子に関係します。

プログラミングでは、データベース検索や形式手法、プログラムの正しさの検証にも考え方が生かされています。

たとえば、すべての利用者に必要な権限が付いているかを確認する条件は、全称量化の発想で整理できます。

また、条件を満たすレコードが一件でもあるかを調べる処理は、存在量化に近い考え方です。

専門分野に進まない場合でも、曖昧な条件を整理する力として身に付ける価値があります。

まとめ

述語論理とは、対象の性質や対象同士の関係を、変数と述語を使って表す論理です。

全称記号 ∀ はすべての対象を、存在記号 ∃ は条件を満たす対象が少なくとも一つあることを示します。

命題論理との違いは、対象の範囲や個別の性質まで扱える点にあります。

論理式を読むときは、領域、述語、量化子、括弧、量化子の順序を順番に確認しましょう。

日本語の文を対象と性質に分け、全称や存在の語を記号へ対応させる練習を重ねれば、述語論理は着実に理解できます。