命題関数
命題論理(propositional logic)における議論の最小単位は命題(proposition)です。命題とは、物事の判断について述べた文や式で、真偽を客観的に判断できるもののことです。ただ、主張の中には命題ではないものの、一定の条件のもとでは真偽を客観的に判断できるものが存在します。以下が具体例です。
\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)です。述語論理では命題関数が議論の最小単位となります。
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。例えば、\(x=1\)を代入すれば、\begin{equation*}1\text{は偶数である}
\end{equation*}という偽な命題が得られ、\(x=2\)を代入すれば、\begin{equation*}2\text{は偶数である}
\end{equation*}という真な命題が得られます。\(\left( 1\right) \)は変数\(x\)に関する命題関数です。
\quad \cdots (1)
\end{equation}という主張はそのままでは真偽を判定できないため命題ではありません。例えば、\(x\)に「北海道」を代入すれば、\begin{equation*}\text{北海道は関東地方にある}
\end{equation*}という偽な命題が得られ、\(x\)に「東京」を代入すれば、\begin{equation*}\text{東京は関東地方にある}
\end{equation*}という真な命題が得られます。\(\left( 1\right) \)は変数\(x\)に関する命題関数です。
\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*}などと表記します。
複数の変数を持つ命題関数
複数の変数を持つ命題関数を考えることもできます。命題関数が複数の変数を持つ場合、すべての変数に具体的な値を代入することによりはじめて命題が得られ、その真偽を判定できるようになります。
\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\)に関する命題関数です。
\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\)に関する命題関数です。
\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)などと呼びます。論理式については後ほど正確に定義しますが、最も重要な点は、命題関数の組み合わせである論理式自身もまた変数の値に応じて真偽が決まる命題関数であるということです。論理式の値は、その論理式に含まれる命題変数の値の組み合わせに応じて決定されます。述語論理では、論理式の値を決定する上でしたがうべきルールを定めた上で、そのルールを出発点としたときに推論に関して何が言えるかを明らかにしようとします。
演習問題
- 整数\(x\)は奇数である。
- 実数\(x\)は大きい。
- 円周率\(\pi \)は\(4\)よりも小さい。
- この小学校の\(x\)年生の生徒数は\(y\)人よりも多い。
プレミアム会員専用コンテンツです
【ログイン】【会員登録】