教材一覧
教材一覧
教材検索

述語論理

述語論理

目次

前のページ:
Twitterで共有
メールで共有

命題関数

命題とは物事の判断について述べた文や式の中でも、客観的に真偽を判断できるもののことです。では、\(x\)が任意の実数を値として取り得るとき、以下の不等式\begin{equation*}x>1
\end{equation*}は命題でしょうか。\(x=3\)を代入すれば、\begin{equation*}3>1
\end{equation*}となり、これは真な命題です。また、\(x=0\)を代入すれば、\begin{equation*}0>1
\end{equation*}となり、これは偽な命題です。つまり、不等式\(x>1\)に含まれる\(x\)に具体的な値を代入すれば命題が得られますが、不等式\(x>1\)はそのままでは真偽を判定できないため命題ではありません。

先の不等式\(x>1\)に含まれる\(x\)のように、未知の数・対象を表す文字や記号のことを変数(variable)と呼びます。変数を含む文や式は変数に具体的な値を代入することによりはじめて命題となり、その真偽を判定できるようになります。逆に言うと、変数を含む文や式はそのままでは真偽を判定できないため、命題ではありません。一般に、変数を含む文や式を命題関数(propositional function)と呼びます。

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

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

例(命題関数)
\(x,y\)がともに任意の自然数を値として取り得るとき、\begin{equation}x>y \quad \cdots (1)
\end{equation}という主張はそのままでは真偽を判定できないため、これは命題ではありません。例えば、\(\left( x,y\right) =\left(2,1\right) \)を代入すると、\begin{equation*}2>1
\end{equation*}という真な命題が得られ、\(\left( x,y\right) =\left( 1,2\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}という主張はそのままでは真偽を判定できないため命題ではありません。例えば、\(\left( x,y\right) =\left( \text{東京},\text{北海道}\right) \)を代入すると、\begin{equation*}\text{東京の人口は北海道の人口よりも多い}
\end{equation*}という真な命題が得られ、\(\left( x,y\right) =\left( \text{北海道},\text{東京}\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}という主張はそのままでは真偽を判定できないため命題ではありません。例えば、\(\left( x,y,z\right) =\left( 3,2,1\right) \)を代入すると、\begin{equation*}3>2>1
\end{equation*}という真な命題が得られ、\(\left( x,y,z\right) =\left( 2,3,1\right) \)を代入すると、\begin{equation*}2>3>1
\end{equation*}という偽な命題が得られます。\(\left( 1\right) \)は3つの変数\(x,y,z\)に関する命題関数です。

命題関数の具体例をいくつか提示しましたが、述語論理では議論を一般化するため、個々の命題関数が具体的に何について言及しているかを問題とせず、命題関数を大文字のアルファベットと括弧に囲まれた変数を用いて表記します。具体例を挙げると、変数\(x\)に関する命題関数を、\begin{equation*}P\left( x\right) ,Q\left( x\right) ,\cdots
\end{equation*}などで表記し、変数\(x,y\)に関する命題関数を、\begin{equation*}P\left( x,y\right) ,Q\left( x,y\right) ,\cdots
\end{equation*}などで表記するということです。3つ以上の変数を持つ命題関数についても同様です。

 

述語論理

述語論理において議論の対象となる論理的な主張や推論はいずれも、命題関数どうしを一定のルールのもとで組み合わせることで得られる式として表現されます。そのような式を論理式(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\)を持つ」という主張を命題関数として定式化した上で、そこから得られる命題が真になるような変数の値の組と、そこから得られる命題が偽になるような変数の値の組の具体例を提示してください。
解答を見る

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

前のページ:
Twitterで共有
メールで共有
DISCUSSION

質問とコメント