述語論理において論理式の値を特定するためには、変数の定義域を特定し、論理式に含まれるすべての命題関数の形状を特定し、さらに(開論理式の場合には)自由な変数の値を定義域の中から指定する必要があります。以上の 3 つの要素の組を論理式の解釈と呼びます。

2018年11月29日:公開

述語論理における命題関数の解釈

述語論理の対象は命題関数という概念です。つまり、述語論理の最小単位は変数\(x_{1},\cdots ,x_{n}\)を持つ命題関数\(P\left( x_{1},\cdots ,x_{n}\right) \)であり、変数に代入する値の組み合わせに応じて命題関数は\(1\)または\(0\)を値として取ります。

命題関数\(P\left( x_{1},\cdots ,x_{n}\right) \)は様々な具体的な言明を一般化した表現であり、変数\(x_{1},\cdots ,x_{n}\)が取り得る値の範囲(すなわち議論領域\(D\))、変数\(x_{1},\cdots ,x_{n}\)に代入する値、そして関数\(P\)の形状が変わればその値も変化します。したがって、命題関数\(P\left( x_{1},\cdots ,x_{n}\right) \)の値を特定するためには上記の 3 つの要素を具体的に指定する必要があります。これが述語論理における命題関数の解釈です。

例を挙げます。変数\(x\)に関する命題関数\(P\left( x\right) \)について考えます。この命題関数の 1 つの解釈は、\begin{eqnarray*}
&&\left( a\right) \ x\text{はすべての自然数を値としてとる。} \\
&&\left( b\right) \ x=1 \\
&&\left( c\right) \ P\left( x\right) :x^{2}\geq 1 \end{eqnarray*}というものですが、この解釈のもとで\(P\left( x\right) \)は真です。別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ x\text{はすべての自然数を値としてとる。} \\
&&\left( b\right) \ x=1 \\
&&\left( c\right) \ P\left( x\right) :x^{2}<1
\end{eqnarray*}というものですが、この解釈のもとで\(P\left( x\right) \)は偽です。さらに別の解釈は、\begin{eqnarray*}
&&\left( a\right) \ x\text{はすべての整数を値としてとる。} \\
&&\left( b\right) \ x=\frac{1}{2} \\
&&\left( c\right) \ P\left( x\right) :x^{2}\geq 1
\end{eqnarray*}というものですが、この解釈のもとで\(P\left( x\right) \)は偽です。命題関数はおよそ無限通りに解釈可能です。

 

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

述語論理では命題関数を含む原子論理式に論理演算子や量化記号を作用させることで論理式を得ます。論理式は変数を含まない閉論理式と変数を含む開論理式に分類されます。閉論理式は変数を含まないため、閉論理式の値を特定するためには議論領域とそこに含まれるすべての命題関数の形状を指定すれば十分です。これが閉論理式の解釈です。

閉論理式について復習する

例を挙げます。命題関数\(P\left( x,y\right) ,Q\left( x\right) \)に関する論理式\begin{equation}
\exists x\in X\ \left( \lnot Q\left( x\right) \ \rightarrow \ \forall y\in Y\ P\left( x,y\right) \right) \tag{1}
\end{equation}について考えます。変数\(x,y\)の現れはいずれも量化記号によって束縛されているため、この論理式は閉論理式です。したがって、閉論理式 \(\left( 1\right) \)に解釈を与えることとは議論領域\(D\)を指定し(定義域\(X,Y\)を特定し)、関数\(P,Q\)の形状を特定することを意味します。

\begin{array}{cccc}
\hline
x & y & P\left( x,y\right) & Q\left( x\right) \\ \hline
x_{1} & y_{1} & 1 & 1 \\ \hline
x_{1} & y_{2} & 1 & 1 \\ \hline
x_{2} & y_{2} & 1 & 0 \\ \hline
x_{2} & y_{2} & 1 & 0 \\ \hline
\end{array}

表:閉論理式の解釈

例えば、\(X\)には 2 つの値\(x_{1},x_{2}\)が属し、\(Y\)には 2 つの値\(y_{1},y_{2}\)が属するものとします。さらに、命題関数\(P,Q\)の形状を上の表で定めます。以上が閉論理式\(\left( 1\right) \)の解釈の一例です。この解釈のもとでは\(\left( 1\right) \)の値が\(1\)になることを以下で確認しましょう。

量化記号\(\forall ,\exists \)の定義より、\(\left( 1\right) \)が真であることは、\begin{equation}
\lnot Q\left( x\right) \ \rightarrow \ P\left( x,y_{1}\right) \wedge P\left( x,y_{2}\right) \tag{2}
\end{equation}が真になるような\(x\)の値が存在することを意味します。先の解釈のもとでは\(P\left( x,y_{1}\right) \wedge P\left( x,y_{2}\right) \)は\(x\)の値によらず常に\(1\)ですので、\(\left( 2\right) \)もまた\(x\)の値によらず常に\(1\)です。したがって、この解釈のもとで\(\left( 1\right) \)は真になります。

\begin{array}{cccc}
\hline
x & y & P\left( x,y\right) & Q\left( x\right) \\ \hline
x_{1} & y_{1} & 0 & 0 \\ \hline
x_{1} & y_{2} & 0 & 0 \\ \hline
x_{2} & y_{2} & 0 & 1 \\ \hline
x_{2} & y_{2} & 0 & 1 \\ \hline
\end{array}

表:閉論理式の解釈

議論領域\(D\)はそのままで、命題関数\(P,Q\)の形状を上の表で定める新たな解釈のもとでは閉論理式\(\left( 1\right) \)の値が\(0\)になることを以下で確認しましょう。

繰り返しになりますが、量化記号\(\forall ,\exists \)の定義より、\(\left( 1\right) \)が真であることは、\begin{equation}
\lnot Q\left( x\right) \ \rightarrow \ P\left( x,y_{1}\right) \wedge P\left( x,y_{2}\right) \tag{2}
\end{equation}が真になるような\(x\)の値が存在することを意味します。先の解釈のもとでは\(P\left( x,y_{1}\right) \wedge P\left( x,y_{2}\right) \)は\(x\)の値によらず常に\(0\)ですので、\(\left( 2\right) \)もまた\(x\)の値によらず常に\(0\)です。したがって、この解釈のもとで\(\left( 1\right) \)は偽になります。

 

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

開論理式は変数を含むため、開論理式の値を特定するためには議論領域とそこに含まれるすべての命題関数の形状を指定するだけでなく、変数の値を具体的に指定する必要があります。これが開論理式の解釈です。

開論理式について復習する

例を挙げます。命題関数\(P\left( x,y\right) ,Q\left( x\right) \)に関する論理式\begin{equation}
\exists y\in Y\ \left( \forall x\in X\ P\left( x,y\right) \right) \wedge Q\left( x\right) \tag{1}
\end{equation}について考えます。\(P\left( x,y\right) \)における変数\(x,y\)の現れはいずれも量化記号によって束縛されていますが、\(Q\left( x\right) \)における変数\(x\)の現れは自由ですので\(\left( 1\right) \)は開論理式です。したがって、開論理式\(\left( 1\right) \)を解釈するためには議論領域\(D\)を指定し(定義域\(X,Y\)を特定し)、関数\(P,Q\)の形状を特定するだけでなく、自由な変数\(x\)の値を指定する必要があります。

\begin{array}{cccc}
\hline
x & y & P\left( x,y\right) & Q\left( x\right) \\ \hline
x_{1} & y_{1} & 1 & 1 \\ \hline
x_{1} & y_{2} & 1 & 1 \\ \hline
x_{2} & y_{2} & 1 & 0 \\ \hline
x_{2} & y_{2} & 1 & 0 \\ \hline
\end{array}

表:開論理式の解釈

例えば、\(X\)には 2 つの値\(x_{1},x_{2}\)が属し、\(Y\)には 2 つの値\(y_{1},y_{2}\)が属するものとします。さらに、命題関数\(P,Q\)の形状を上の表で定めます。量化記号\(\forall ,\exists \)の定義より、\(\left( 1\right) \)が真であることは、\(P\left( x_{1},y\right) \wedge P\left( x_{2},y\right) \)が真になるような\(y\)の値が存在すると同時に\(Q\left( x\right) \)が真であることを意味します。上の真理値表より、\(y\)の値によらず\(P\left( x_{1},y\right) \wedge P\left( x_{2},y\right) \)は真です。一方、\(Q\left( x\right) \)が真であるか否かを判定するためには\(x\)の値を指定しなければなりません。開論理式を解釈するためには自由な変数に具体的な値を代入しなければならないのです。例えば、以上の議論領域\(D\)と命題関数\(P,Q\)に加えて、\(x\)の値を\(x=x_{1}\)と定めるのは 1 つの解釈です。この解釈のもとでは\(\left( 1\right) \)は真になります。また、以上の議論領域\(D\)と命題関数\(P,Q\)に加えて、\(x\)の値を\(x=x_{2}\)と定めるのは別の解釈です。この解釈のもとでは\(\left( 1\right) \)は偽になります。

 

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

以上の議論を踏まえた上で、述語論理における論理式の解釈とは何であるかをまとめておきましょう。述語論理における論理式\(A\)の解釈とは、以下の 3 つの要素を具体的に特定することを意味します。

定義(論理式の解釈)
  1. 議論領域\(D\)を指定する。すなわち、論理式\(A\)に含まれる変数の定義域を指定する。
  2. 論理式\(A\)に含まれるすべての命題関数の形状を指定する。すなわち、\(A\)の部分論理式であるそれぞれの命題関数\(P\left( x_{1},\cdots ,x_{n}\right) \)について、変数\(\left( x_{1},\cdots ,x_{n}\right) \)のそれぞれの値の組み合わせに対して\(P\left( x_{1},\cdots ,x_{n}\right) \)の値が\(1\)と\(0\)のどちらであるかを指定する。
  3. \(A\)が開論理式の場合には、つまり\(A\)に自由な変数が含まれる場合には、その変数の値を定義域の中から指定する。

論理式\(A\)が命題定数などでない限り、論理式の値はそのままでは決まりません。論理式の値を特定するためにはそれに解釈を与える必要があります。言い換えると、形式的には同一の論理式でも異なる解釈を与えればその論理式の値は変わり得るということです。

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

次へ進む 演習問題(プレミアム会員限定)