WIIS

述語論理

述語論理とは何か

目次

前のページ:
Mailで保存
Xで共有

命題関数

命題論理(propositional logic)における議論の最小単位は命題(proposition)です。命題とは、物事の判断について述べた文や式で、真偽を客観的に判断できるもののことです。

一方、物事の判断について述べた文や式の中には、そのままでは命題ではないものの、一定の条件のもとでは真偽を客観的に判断できるものが存在します。以下が具体例です。

例(命題関数)
\(x\)は任意の実数を値として取り得る記号である場合、以下の不等式\begin{equation}x>1 \quad \cdots (1)
\end{equation}は命題でしょうか。以下の値\begin{equation*}
x=3
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}3>1
\end{equation*}という真な命題が得られます。以下の値\begin{equation*}
x=0
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}0>1
\end{equation*}という偽な命題が得られます。つまり、\(\left( 1\right) \)はそのままでは真偽を判定できないため命題ではないものの、\(x\)に具体的な値を代入すれば命題が得られるため、その真偽を判定できるようになります。

上で例として挙げた主張\begin{equation*}
x>1
\end{equation*}に含まれる\(x\)のように、未知の数・対象を表す文字や記号のことを変数(variable)と呼びます。

変数を含む主張は変数に具体的な値を代入することによりはじめて命題となり、その真偽を判定できるようになります。逆に言うと、変数を含む主張はそのままでは真偽を判定できないため、命題ではありません。変数を含む文や式を命題関数(propositional function)と呼びます。

命題関数は命題ではないため、命題論理の枠組みの中で命題関数を扱うことはできません。命題関数を扱えるように命題論理を拡張したものが述語論理(predicate logic)です。述語論理における議論の最小単位は命題関数です。

例(命題関数)
\(x\)が任意の正の整数を値として取り得る変数である場合、\begin{equation}x\text{は偶数である} \quad \cdots (1)
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。以下の値\begin{equation*}
x=1
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}1\text{は偶数である}
\end{equation*}という偽な命題が得られ、以下の値\begin{equation*}
x=2
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}2\text{は偶数である}
\end{equation*}という真な命題が得られます。つまり、\(\left( 1\right) \)は変数\(x\)に関する命題関数です。
例(命題関数)
\(x\)が日本の都道府県を値として取り得る変数である場合、\begin{equation}x\text{は関東地方にある}
\quad \cdots (1)
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。以下の値\begin{equation*}
x=\text{北海道}
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}\text{北海道は関東地方にある}
\end{equation*}という偽な命題が得られ、以下の値\begin{equation*}
x=\text{東京}
\end{equation*}を\(\left( 1\right) \)に代入すれば、\begin{equation*}\text{東京は関東地方にある}
\end{equation*}という真な命題が得られます。つまり、\(\left( 1\right) \)は変数\(x\)に関する命題関数です。
例(命題関数)
\(x\)が日本の山を値として取り得る変数である場合、\begin{equation}x\text{は高い} \quad \cdots (11)
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。さらに、\(x\)に具体的な値を代入しても命題は得られないため\(\left( 1\right) \)は命題関数でもありません。実際、以下の値\begin{equation*}x=\text{富士山}
\end{equation*}を\(\left( 1\right) \)に代入すると以下の主張\begin{equation*}\text{富士山は高い}
\end{equation*}が得られますが、この主張の真偽を客観的に判定することはできないためこれは命題ではなく、したがって\(\left( 1\right) \)は命題関数ではありません。続いて、以下の主張\begin{equation}x\text{の標高は}3,000\text{メートル以上である} \quad \cdots (2)
\end{equation}について考えます。この主張はこのままでは真偽を判定できないため命題ではありません。以下の値\begin{equation*}
x=\text{富士山}
\end{equation*}を\(\left( 2\right) \)に代入すると、\begin{equation*}\text{富士山の標高は}3,000\text{メートル以上である}
\end{equation*}という真な命題が得られ(富士山の標高は3,766メートルです)、以下の値\begin{equation*}
x=\text{高尾山}
\end{equation*}を\(\left( 2\right) \)に代入すると、\begin{equation*}\text{高尾山の標高は}3,000\text{メートル以上である}
\end{equation*}という偽な命題が得られます(高尾山は東京にある標高599メートルの山です)。したがって、\(\left( 2\right) \)は変数\(x\)に関する命題関数です。

述語論理では個々の命題関数が具体的に何について言及しているかを問題とせず、それらを単に変数に代入する値に応じて真偽が定まる関数とみなします。変数\(x\)に関する命題関数を表す記号として、大文字のアルファベットを用いて、\begin{equation*}P\left( x\right) ,Q\left( x\right) ,\cdots
\end{equation*}などを利用します。

 

複数の変数を持つ命題関数

述語論理では、複数の変数を持つ命題関数を扱うこともできます。命題関数が複数の変数を持つ場合、すべての変数に具体的な値を代入することによりはじめて命題が得られ、その真偽を判定できるようになります。

例(命題関数)
\(x,y\)がともに任意の自然数を値として取り得る変数である場合、以下の主張\begin{equation}x>y \quad \cdots (1)
\end{equation}の真偽をこのままでは判定できないため、これは命題ではありません。以下の値\begin{equation*}
\left( x,y\right) =\left( 2,1\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}2>1
\end{equation*}という真な命題が得られ、以下の値\begin{equation*}
\left( x,y\right) =\left( 1,2\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}1>2
\end{equation*}という偽な命題が得られます。つまり、\(\left( 1\right) \)は2つの変数\(x,y\)に関する命題関数です。
例(命題関数)
\(x,y\)がともに日本の都道府県を値として取り得る変数である場合、以下の主張\begin{equation}x\text{の人口は}y\text{の人口よりも多い} \quad \cdots (2)
\end{equation}の真偽をこのままでは判定できないため、これは命題ではありません。以下の値\begin{equation*}
\left( x,y\right) =\left( \text{東京},\text{北海道}\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}\text{東京の人口は北海道の人口よりも多い}
\end{equation*}という真な命題が得られ、以下の値\begin{equation*}
\left( x,y\right) =\left( \text{北海道},\text{東京}\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}\text{北海道の人口は東京の人口よりも多い}
\end{equation*}という偽な命題が得られます。つまり、\(\left( 1\right) \)は2つの変数\(x,y\)に関する命題関数です。
例(命題関数)
\(x,y,z\)がいずれも任意の整数を値として取り得る場合、以下の主張\begin{equation}x>y>z \quad \cdots (1)
\end{equation}の真偽をこのままでは判定できないため、これは命題ではありません。以下の値\begin{equation*}
\left( x,y,z\right) =\left( 3,2,1\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}3>2>1
\end{equation*}という真な命題が得られ、以下の値\begin{equation*}
\left( x,y,z\right) =\left( 2,3,1\right)
\end{equation*}を\(\left( 1\right) \)に代入すると、\begin{equation*}2>3>1
\end{equation*}という偽な命題が得られます。つまり、\(\left( 1\right) \)は3つの変数\(x,y,z\)に関する命題関数です。

2つの変数\(x,y\)に関する命題関数を表す記号として、大文字のアルファベットを用いて、\begin{equation*}P\left( x,y\right) ,Q\left( x,y\right) ,\cdots
\end{equation*}などを利用します。

3つの変数\(x,y,z\)に関する命題関数を表す記号として、大文字のアルファベットを用いて、\begin{equation*}P\left( x,y,z\right) ,Q\left( x,y,z\right) ,\cdots
\end{equation*}などを利用します。

より一般的に、有限\(n\)個の変数\(x_{1},\cdots ,x_{n}\)に関する命題関数を表す記号として、大文字のアルファベットを用いて、\begin{equation*}P\left( x_{1},\cdots ,x_{n}\right) ,Q\left( x_{1},\cdots ,x_{n}\right)
,\cdots
\end{equation*}などを利用します。

述語論理において議論の対象となる論理的な主張や推論はいずれも、命題関数どうしを組み合わせることにより得られる式として表現されますが、そのような式を論理式(formula)や一階論理式(first-order formula)などと呼びます。論理式については後ほど正確に定義しますが、最も重要な点は、命題関数の組み合わせである論理式自身もまた変数に代入する値に応じて真偽が決まる命題関数であるということです。論理式の値は、その論理式に含まれる命題変数に代入する値の組み合わせに応じて決定されます。述語論理では、論理式の値を決定する上でしたがうべきルールを定めた上で、そのルールを出発点としたときに推論に関して何が言えるかを明らかにしようとします。

 

演習問題

問題(命題関数)
以下のそれぞれの主張について、それが命題であるか、命題関数であるか、そのどちらでもないか、理由とともに答えてください。

  1. 整数\(x\)は奇数である。
  2. 実数\(x\)は大きい。
  3. 円周率\(\pi \)は\(4\)よりも小さい。
  4. この小学校の\(x\)年生の生徒数は\(y\)人よりも多い。
解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

問題(命題関数)
「実数\(x\)について\(x^{2}>x\)が成り立つ」という主張を命題関数として定式化した上で、そこから得られる命題が真になるような変数の値と、そこから得られる命題が偽になるような変数の値の具体例を提示してください。
解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

問題(命題関数)
「実数\(x,y\)について\(x>y\)が成り立つ」という主張を命題関数として定式化した上で、そこから得られる命題が真になるような変数の値の組と、そこから得られる命題が偽になるような変数の値の組の具体例を提示してください。
解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

問題(命題関数)
「実数\(a,b\)を係数とする2次方程式\(x^{2}+ax+b=0\)は実数解\(x\)を持つ」という主張を命題関数として定式化した上で、そこから得られる命題が真になるような変数の値の組と、そこから得られる命題が偽になるような変数の値の組の具体例を提示してください。
解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

関連知識

前のページ:
Mailで保存
Xで共有

質問とコメント

プレミアム会員専用コンテンツです

会員登録

有料のプレミアム会員であれば、質問やコメントの投稿と閲覧、プレミアムコンテンツ(命題の証明や演習問題とその解答)へのアクセスなどが可能になります。

ワイズのユーザーは年齢・性別・学歴・社会的立場などとは関係なく「学ぶ人」として対等であり、お互いを人格として尊重することが求められます。ユーザーが快適かつ安心して「学ぶ」ことに集中できる環境を整備するため、広告やスパム投稿、他のユーザーを貶めたり威圧する発言、学んでいる内容とは関係のない不毛な議論などはブロックすることになっています。詳細はガイドラインをご覧ください。

誤字脱字、リンク切れ、内容の誤りを発見した場合にはコメントに投稿するのではなく、以下のフォームからご連絡をお願い致します。

プレミアム会員専用コンテンツです
ログイン】【会員登録