WIIS

述語論理

述語論理とは何か

目次

関連知識

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

命題関数

命題論理(propositional logic)における議論の最小単位は命題(proposition)です。命題とは、物事の判断について述べた文や式で、真偽を客観的に判断できるもののことです。ただ、主張の中には命題ではないものの、一定の条件のもとでは真偽を客観的に判断できるものが存在します。以下が具体例です。

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

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

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

例(命題関数)
\(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 (11)
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。さらに、\(x\)に具体的な値を代入しても命題は得られないため\(\left( 1\right) \)は命題関数でもありません。実際、\(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\)の値に応じて決まる場合、そのような命題関数を、アルファベットの大文字を用いて、\begin{equation*}P\left( x\right) ,Q\left( x\right) ,\cdots
\end{equation*}などと表記します。

 

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

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

例(命題関数)
\(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\)に関する命題関数です。

命題関数の真偽が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*}などで表記します。4つ以上の変数を持つ命題関数についても同様です。

述語論理において議論の対象となる論理的な主張や推論はいずれも、命題関数どうしを組み合わせることにより得られる式として表現されますが、そのような式を論理式(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で共有

質問とコメント

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

会員登録

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

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

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

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