教材一覧
教材検索
PREDICATE LOGIC

述語論理における論理式の解釈

目次

Share on twitter
Twitterで共有
Share on email
メールで共有

述語論理における論理式の解釈

復習になりますが、命題論理の基本単位は\(0\)または\(1\)を値としてとり得る命題変数\(P,Q,\cdots \)です。命題論理では命題変数に論理演算子を作用させることで論理式を得ますが、論理式の値を確定するためにはそこに含まれる個々の命題変数に\(1\)または\(0\)の値を代入する必要があります。論理式に含まれる命題変数の値の組み合わせをその論理式の解釈と呼びます。論理式の値を特定するためにはそれに対して何らかの解釈を与える必要があります。

やはり復習になりますが、述語論理の基本単位は様々な値を取り得る変数\(x_{1},\cdots ,x_{n}\)を持つ命題関数\(P\left( x_{1},\cdots ,x_{n}\right) \)です。命題関数もまた\(1\)または\(0\)を値としてとりますが、その値を特定するためには以下の3つの要素\begin{eqnarray*}
&&\left( a\right) \ \text{議論領域}D \\
&&\left( b\right) \ \text{関数}P\text{の形状}
\\
&&\left( c\right) \ \text{変数}x_{1},\cdots ,x_{n}\text{に代入する値}\overline{x}_{1},\cdots ,\overline{x}_{n}
\end{eqnarray*}を具体的に指定する必要があります。これが述語論理における命題関数の解釈です。

例(命題関数の解釈)
変数\(x\in X\)に関する命題関数\(P\left( x\right) \)について考えます。この命題関数の1つの解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての自然数からなる集合} \\
&&\left( b\right) \ P\left( x\right) :x^{2}\geq 1 \\
&&\left( c\right) \ x=1
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
P\left( 1\right) :1^{2}\geq 1
\end{equation*}という真な命題に対応します。別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての整数からなる集合} \\
&&\left( b\right) \ P\left( x\right) :x^{2}\geq 1 \\
&&\left( c\right) \ x=\frac{1}{2}
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
P\left( \frac{1}{2}\right) :\left( \frac{1}{2}\right) ^{2}\geq 1
\end{equation*}という偽な命題に対応します。さらに別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての都道府県からなる集合} \\
&&\left( b\right) \ P\left( x\right) :x\text{の人口は}800\text{万人以上} \\
&&\left( c\right) \ x=\text{東京}
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
P\left( \text{東京}\right) :\text{東京の人口は}800\text{万人以上}
\end{equation*}という真な命題に対応します。命題関数は無限通りに解釈可能です。

述語論理では命題関数を含む原子論理式に論理演算子や量化記号を作用させることで論理式を得ます論理式は変数の自由な現れを持つ開論理式と、変数の自由な現れを持たない閉論理式とに分類されます。論理式\(A\)が変数の自由な現れを持たない閉論理式である場合、その値を特定するためには以下の2つの要素\begin{eqnarray*}
&&\left( a\right) \ \text{議論領域}D \\
&&\left( b\right) \ \text{論理式}A\text{を構成するすべての命題関数の形状}
\end{eqnarray*}を具体的に指定する必要があります。以上が述語論理における閉論理式の解釈です。

例(閉論理式の解釈)
変数\(x\in X\)に関する命題関数\(P\left( x\right) \)に関する以下の論理式\begin{equation*}
\forall x\in X:P\left( x\right)
\end{equation*}は変数の自由な現れを持たないため、これは閉論理式です。この閉論理式の1つの解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての実数からなる集合} \\
&&\left( b\right) \ P\left( x\right) :x^{2}\geq 0
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
\text{任意の実数}x\text{について}x^{2}\geq 0\text{が成り立つ}
\end{equation*}という真な命題に対応します。別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての実数からなる集合} \\
&&\left( b\right) \ P\left( x\right) :\left\vert x\right\vert >0
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
\text{任意の実数}x\text{について}\left\vert x\right\vert >0\text{が成り立つ}
\end{equation*}という偽な命題に対応します。さらに別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{はすべての都道府県からなる集合} \\
&&\left( b\right) \ P\left( x\right) :x\text{の人口は}800\text{万人以上}
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
\text{すべての都道府県の人口は}800\text{万人以上である}
\end{equation*}という偽な命題に対応します。閉論理式は無限通りに解釈可能です。

論理式\(A\)が変数\(x_{1},\cdots ,x_{n}\)の自由な現れを持つ開論理式\(A\left( x_{1},\cdots ,x_{n}\right) \)である場合、その値を特定するためには以下の3つの要素\begin{eqnarray*}
&&\left( a\right) \ \text{議論領域}D \\
&&\left( b\right) \ \text{論理式}A\text{を構成するすべての命題関数の形状} \\
&&\left( c\right) \ \text{変数の自由な現れに代入する値}\overline{x}_{1},\cdots ,\overline{x}_{n}
\end{eqnarray*}を具体的に指定する必要があります。以上が述語論理における開論理式の解釈です。

例(開論理式の解釈)
変数\(x\in X\)と\(y\in Y\)に関する命題関数\(P\left( x,y\right) \)に関する以下の論理式\begin{equation*}
\exists x\in X:P\left( x,y\right)
\end{equation*}は変数\(y\)の自由な現れを持つため、これは開論理式です。この閉論理式の1つの解釈は、\begin{eqnarray*}
&&\left( a\right) \ X,Y\text{はすべての実数からなる集合} \\
&&\left( b\right) \ P\left( x,y\right) :x^{2}=y \\
&&\left( c\right) \ y=2
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
x^{2}=2\text{を満たす実数}x\text{が存在する}
\end{equation*}という真な命題に対応します。別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X,Y\text{はすべての実数からなる集合} \\
&&\left( b\right) \ P\left( x,y\right) :x^{2}=y \\
&&\left( c\right) \ y=1
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
x^{2}=1\text{を満たす実数}x\text{が存在する}
\end{equation*}という偽な命題に対応します。さらに別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ X\text{は都道府県の集合、}Y\text{はすべての自然数の集合} \\
&&\left( b\right) \ P\left( x,y\right) :x\text{の人口は}y\text{以上} \\
&&\left( c\right) \ y=800\text{万}
\end{eqnarray*}というものですが、この解釈は、\begin{equation*}
\text{人口が}800\text{万人以上の都道府県が存在する}
\end{equation*}という真な命題に対応します。開論理式は無限通りに解釈可能です。

 

論理式の解釈の応用

日常言語を使って表現された問題をあえて論理式に翻訳した上で、それを解釈すれば、もとの問題を解く助けになります。例を挙げます。

例(論理式の解釈の応用)
セールスマンが以下のように発言しました。「20代または30代でこの商品を購入した方々は全員、この商品を高く評価しています。残念ながら、この商品を高く評価していない方もいます。ただ、他の世代の方もこの商品を購入していることは確かです。」この発言には論理的な嘘が含まれている可能性がありますが、それはどのような嘘でしょうか。変数\(x\)の定義域\(X\)をすべての人からなる集合と定めた上で、以下の命題関数\begin{eqnarray*}
P\left( x\right) &:&x\text{は20代である} \\
Q\left( x\right) &:&x\text{は30代である} \\
R\left( x\right) &:&x\text{は商品購入者である} \\
S\left( x\right) &:&x\text{は商品を高く評価している}
\end{eqnarray*}をそれぞれ導入します。このとき、「20代または30代でこの商品を購入した方々は全員、商品を高く評価している」という主張は以下の論理式\begin{equation}
\forall x\in X:\left( \left( \left( P\left( x\right) \vee Q\left( x\right)
\right) \wedge R\left( x\right) \right) \rightarrow S\left( s\right) \right)
\quad\cdots (1)
\end{equation}として定式化され、「この商品を高く評価していない方もいる」という主張は以下の論理式\begin{equation}
\exists x\in X:\lnot S\left( s\right) \quad\cdots (2)
\end{equation}として定式化され、「他の世代の方もこの商品を購入している」という主張は以下の論理式\begin{equation}
\exists x\in X:\left( \lnot P\left( x\right) \wedge \lnot Q\left( x\right)
\wedge R\left( x\right) \right) \quad\cdots (3)
\end{equation}として定式化されます。実態として、商品を購入しているのは20代または30代の人だけで、購入者はいずれも商品を高く評価しているものとします。ただ、20代または30代の中には商品を購入していない人がおり、その人は商品を高く評価しようがありません。このような解釈において、\(\left( 1\right) \)と\(\left( 2\right) \)は真である一方、\(\left( 3\right) \)は偽となります。
例(論理式の解釈の応用)
信号機の回路を設計します。時間\(t\)を変数とし、それを離散的\(0,1,2,3,\cdots \)なものとして扱います。その上で以下の命題関数\begin{eqnarray*}
B\left( t\right) &:&\text{時点}t\text{において信号は青である} \\
Y\left( t\right) &:&\text{時点}t\text{において信号は黄色である} \\
R\left( t\right) &:&\text{時点}t\text{において信号は赤である}
\end{eqnarray*}を定義します。まず、それぞれの時点\(t\)において信号の色が青、黄色、赤のいずれかであることを論理式として定式化すると、\begin{equation*}
\left( B\left( t\right) \Leftrightarrow \left( \lnot Y\left( t\right) \wedge
\lnot R\left( t\right) \right) \right) \wedge \left( Y\left( t\right)
\Leftrightarrow \left( \lnot B\left( t\right) \wedge \lnot R\left( t\right)
\right) \right) \wedge \left( R\left( t\right) \Leftrightarrow \left( \lnot
B\left( t\right) \wedge \lnot Y\left( t\right) \right) \right)
\end{equation*}となります。また、それぞれの時点\(t\)において、信号の色は変わるとは限らないが、変わる場合には青から黄色、黄色から赤、赤から青へ変わることを論理式として定式化すると、\begin{eqnarray*}
B\left( t\right) &\Rightarrow &B\left( t\right) \vee Y\left( t\right) \\
Y\left( t\right) &\Rightarrow &Y\left( t\right) \vee R\left( t\right) \\
R\left( t\right) &\Rightarrow &R\left( t\right) \vee B\left( t\right)
\end{eqnarray*}となります。また、信号が青または赤であり続ける時間の長さは\(2\)単位時間であり、信号が黄色であり続ける時間の長さが\(1\)単位時間であることを論理式として表現すると、\begin{eqnarray*}
B\left( t-2\right) \wedge B\left( t-1\right) &\Rightarrow &\lnot B\left(
t\right) \\
Y\left( t-1\right) &\Rightarrow &\lnot Y\left( t\right) \\
R\left( t-2\right) \wedge R\left( t-1\right) &\Rightarrow &\lnot R\left(
t\right)
\end{eqnarray*}となります。

 

演習問題

問題(論理式の解釈)
「数独(すうどく)」とは縦横9行ずつの合計81マスの枠内に1から9までの数字を1つずつ入れるパズルです。ゲームの開始時点において下図のようにいくつかのマスにはすでに数字が書かれており、空いているマスに1から9までの数字を1つずつ入れていくことが目標になります。ただし、全体は下図のように太線で囲まれた3\(\times \)3のブロックに区切られており、同じブロック内のマスに同じ数字を入れることはできません。また、同じ行内のマスや同じ列内のマスにも同じ数字を入れることはできません。

図:数独
図:数独

以上を踏まえた上で以下の問いに答えてください。

  1. 「それぞれのマスに入れられるのは1つの数字だけである」ことを論理式として定式化してください。
  2. 「それぞれの行内のマスには1から9までの数字が1つずつ入る」ことを論理式として定式化してください。
  3. 「それぞれの列内のマスには1から9までの数字が1つずつ入る」ことを論理式として定式化してください。
  4. 「それぞれのブロック内のマスには1から9までの数字が1つずつ入る」ことを論理式として定式化してください。
解答を見る

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

次回からは恒真式について学びます。

Share on twitter
Twitterで共有
Share on email
メールで共有
RELATED KNOWLEDGE

関連知識

論理式

命題論理における論理式

命題論理において命題変数や命題定数は単独で論理式とみなされます。また、それらに論理演算子を作用させて得られる式も論理式とみなされます。また、論理式に論理演算子を作用させて得られる式も論理式です。

論理式

述語論理における論理式

述語論理において議論の対象となる最小概念は原子論理式です。原子論理式は命題関数を内包する概念です。原子論理式は単独で論理式とみなされます。また、原子論理式に論理演算子や量化記号を作用させて得られる式も論理式とみなされます。また、論理式に論理演算子や量化記号を作用させて得られる式も論理式です。

論理式

命題論理における論理式の解釈

論理式が与えられたとき、その部分論理式をすべて特定できます。部分論理式の中には命題変数が含まれますが、命題変数の値が定まればこれまで定めた規則からすべての部分論理式の値が定まるため、結局、もとの論理式の値が定まります。つまり、論理式の値はそこに含まれる命題変数の値の組み合わせによって決まります。

DISCUSSION

質問とコメント

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

述語論理