推論を証明する際には、推論の前提とは異なる論理式を便宜的に真と仮定した上で、その論理式と推論の前提に対して推論規則を適用していく手法が時として有効です。仮定を利用する証明方法の代表的なものは条件付き証明です。

< 前のページ
次のページ >

条件付き証明

推論を証明する際には、推論の前提とは異なる論理式を便宜的に真と仮定した上で、その論理式と推論の前提に対して推論規則を適用していく手法が時として有効です。一般に、推論の前提とは異なるが、証明のプロセスにおいて便宜的に真であると仮定される論理式を仮定(assumption)と呼びます。

仮定を利用する証明方法の代表的なものは条件付き証明(conditional proof)です。論理式\(A_{1},\cdots ,A_{n}\)が前提であり、結論が論理式\(B,C\)を用いて\(B\rightarrow C\)の形で表される推論\begin{equation*}
A_{1},\cdots ,\ A_{n}\ \therefore \ B\rightarrow C
\end{equation*}が与えられたとき、含意導入より、この推論の代わりに以下の推論\begin{equation*}
A_{1},\cdots ,\ A_{n},\ B\ \therefore \ C
\end{equation*}の妥当性を検証してもかまいません。つまり、もとの推論の前提\(A_{1},\cdots ,\ A_{n}\)と論理式\(B\)に対して推論規則を適用して最終的に\(C\)を導くことができれば、もとの推論の妥当性を示したことになります。このような証明方法を条件付き証明と呼びます。

含意導入について復習する

条件付き証明の簡単な例を考えましょう。論理式\(A,B,C\)に関する以下の推論\begin{equation*}
A\rightarrow B,\ B\rightarrow C\ \therefore \ A\rightarrow C
\end{equation*}が妥当であることを証明します。つまり、\(A\rightarrow B\)と\(B\rightarrow C\)がともに真であるような任意の解釈において\(A\rightarrow C\)もまた必ず真であることを示します。以下の論理式の列
\begin{array}{llll}
\left( 1\right) & A & \left[ 1\right] & 仮定 \\
\left( 2\right) & A\rightarrow B & \quad & 前提 \\
\left( 3\right) & B\rightarrow C & \quad & 前提 \\
\left( 4\right) & B & \left[ 1\right] & \left( 1\right) ,\left( 2\right) と\rightarrow 除去 \\
\left( 5\right) & C & \left[ 1\right] & \left( 3\right) ,\left( 4\right) と\rightarrow 除去 \\
\left( 6\right) & A\rightarrow C & \quad & \left( 1\right) ,\left( 5\right) と\rightarrow 導入
\end{array}を考えます。\(\left( 1\right) \)は推論の前提ではありませんが、便宜上、これが真であるものと仮定して議論を進めます。\(\left( 1\right) \)の右側に記された\(\left[ 1\right] \)は、1 行目の論理式である\(\left( 1\right) \)が仮定であることを表す記号です。\(\left( 2\right) \)と\(\left( 3\right) \)は推論の前提です。\(\left( 4\right) \)はそれ以前に登場した\(\left( 1\right) \)と\(\left( 2\right) \)に対して推論規則(含意除去)を適用して得られる論理式ですが、\(\left( 1\right) \)は仮定ですから、\(\left( 4\right) \)は\(\left( 1\right) \)が真であるような解釈において真になります。\(\left( 4\right) \)の右側に記された\(\left[ 1\right] \)は\(\left( 4\right) \)が仮定\(\left( 1\right) \)に依拠することを表す記号です。\(\left( 5\right) \)はそれ以前に登場した\(\left( 3\right) \)と\(\left( 4\right) \)に対して推論規則(含意除去)を適用して得られる論理式ですが、ここで用いた\(\left( 4\right) \)は仮定\(\left( 1\right) \)に依拠するため、\(\left( 5\right) \)もまた\(\left( 1\right) \)に依拠します。つまり、\(\left( 5\right) \)は\(\left( 1\right) \)が真であるような解釈において真になります。\(\left( 5\right) \)の右側に記された\(\left[ 1\right] \)は\(\left( 5\right) \)が仮定\(\left( 1\right) \)に依拠することを表す記号です。これは推論規則\(A\models C\)が成り立つことを意味しますが、このとき、含意導入より\(\models A\rightarrow C\)が成り立ちます。つまり、\(\left( 1\right) \)が真であることを仮定せずとも\(A\rightarrow C\)は常に真であることが示されました。\(\left( 6\right) \)の右側に\(\left[ 1\right] \)を記さないのは、以上の理由により、\(A\rightarrow C\)は仮定\(\left( 1\right) \)に依拠しないからです。

含意除去について復習する

 

証明の一般化

仮定という概念を踏まえた上で、先に行った証明の定義を一般化しましょう。前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)に関する推論に対して、以下の条件を満たす論理式の有限な列\(\alpha _{1},\cdots ,\alpha _{m}\)が存在する場合には、これを前提\(A_{1},\cdots ,A_{n}\)から結論\(B\)への証明(proof)や演繹(deduction)などと呼びます。

  1. 最後の論理式\(\alpha _{m}\)は推論の結論\(B\)と一致する。つまり、\(\alpha _{m}=B\)が成り立つ。
  2. それぞれの\(i\ (1\leq i\leq m)\)について以下のいずれかが成り立つ:
    1. 論理式\(\alpha _{i}\)は前提\(A_{1},\cdots ,A_{n}\)の中のいずれかである。
    2. 論理式\(\alpha _{i}\)は仮定である。
    3. 論理式\(\alpha _{i}\)はそれより前にある論理式に推論規則を適用して得られるものである。

前提\(A_{1},\cdots ,A_{n}\)から結論\(B\)への証明が存在する場合には、\(A_{1},\cdots ,A_{n}\)から\(B\)が証明可能(provable)であると言います。\(A_{1},\cdots ,A_{n}\)から\(B\)が証明可能である場合には、証明の定義より、\(A_{1},\cdots ,A_{n}\)がいずれも真であるような任意の解釈において\(B\)もまた必ず真になります。すなわち、推論は妥当ですから、推論規則\begin{equation*}
A_{1},\cdots ,A_{n}\ \models \ B
\end{equation*}が成り立ちます。特に、推論に前提が存在しない場合には、結論\(B\)は証明可能であると言い、このことを、\begin{equation*}
\models \ B
\end{equation*}で表します。これは\(B\)が恒等式であることに他なりません。

証明\(\alpha _{1},\cdots ,\alpha _{m}\)を構成する個々の論理式の番号を明示的に表現する場合には、
\begin{array}{ll}
\left( 1\right) & \alpha _{1} \\
\cdots & \cdots \\
\left( m\right) & \alpha _{m}
\end{array}と表記します。その際、以下の点に注意します。

  1. 論理式\(A\)が\(i\)行目で仮定されるときには\(A\left[ i\right] \)と書く。
  2. ある行の論理式\(A\)が\(i_{1},i_{2},\cdots ,i_{k}\)行目の仮定を用いて導出される場合には\(A\left[ i_{1},i_{2},\cdots ,i_{k}\right] \)と書く。
  3. ある行の論理式\(A\)を導出する際に用いたすべての論理式について、それらを導出する際に\(j_{1},j_{2},\cdots ,j_{l}\)行目の仮定を用いているならば、これらの仮定は\(A\)にも受け継がれるものと定めた上で\(A\left[ j_{1},j_{2},\cdots ,j_{l}\right] \)と書く。
例(条件付き証明)
以下の推論\begin{eqnarray*}
&&\text{期末試験で}90\text{点以上をとる学生の成績はいずれも優である} \\
&&\text{したがって、期末試験で}90\text{点以上をとる学生が存在するならば、成績が優の学生が存在する}
\end{eqnarray*}について考えます。変数\(x\)の定義域\(X\)はすべての学生からなる集合であるものとし、命題関数\(P,Q\)を、\begin{eqnarray*}
P\left( x\right) &:&x\text{の期末試験の得点は}90\text{点以上である} \\
Q\left( x\right) &:&x\text{の成績は優である}
\end{eqnarray*}と定めると、与えられた推論は、\begin{equation*}
\forall x\in X\ \left[ P\left( x\right) \rightarrow Q\left( x\right) \right] \therefore \ \left[ \exists x\in X\ P\left( x\right) \right] \rightarrow \left[ \exists x\in X\ Q\left( x\right) \right] \end{equation*}と定式化されます。この推論が妥当であることは以下の証明から証明可能です。
\begin{array}{llll}
\left( 1\right) & \exists x\in X\ P\left( x\right) & \left[ 1\right] & 仮定 \\
\left( 2\right) & P\left( c\right) & \left[ 1\right] & \left( 1\right) と\exists 除去 \\
\left( 3\right) & \forall x\in X\ \left[ P\left( x\right) \rightarrow Q\left( x\right) \right] & \quad & 前提 \\
\left( 4\right) & P\left( c\right) \rightarrow Q\left( c\right) & \left[ 1\right] & \left( 3\right) と\forall 除去 \\
\left( 5\right) & Q\left( c\right) & \left[ 1\right] & \left( 2\right) ,\left( 4\right) と\rightarrow 除去 \\
\left( 6\right) & \exists x\in X\ Q\left( x\right) & \left[ 1\right] & \left( 5\right) と\exists 導入 \\
\left( 7\right) & \left[ \exists x\in X\ P\left( x\right) \right] \rightarrow \left[ \exists x\in X\ Q\left( x\right) \right] & & \left( 1\right) ,\left( 6\right) と\rightarrow 導入
\end{array}
例(条件付き証明)
以下の推論\begin{eqnarray*}
&&\text{期末試験で}70\text{点以上とる、もしくは出席率が}100\%\text{の学生の成績はいずれも良以上である} \\
&&\text{したがって、期末試験で}70\text{点以上をとる学生の成績はいずれも良以上である}
\end{eqnarray*}について考えます。変数\(x\)の定義域\(X\)はすべての学生からなる集合であるものとし、命題関数\(P,Q,R\)を、\begin{eqnarray*}
P\left( x\right) &:&x\text{の期末試験の得点は}70\text{点以上である} \\
Q\left( x\right) &:&x\text{の出席率は}100\%\text{である} \\
R\left( x\right) &:&x\text{の成績は良以上である}
\end{eqnarray*}と定めると、与えられた推論は、\begin{equation*}
\forall x\in X\ \{\left[ P\left( x\right) \vee Q\left( x\right) \right] \rightarrow R\left( x\right) \}\therefore \ \forall x\in X\ \left[ P\left( x\right) \rightarrow R\left( x\right) \right] \end{equation*}と定式化されます。この推論が妥当であることは以下の証明から証明可能です。
\begin{array}{llll}
\left( 1\right) & P\left( c\right) & \left[ 1\right] & 仮定 \\
\left( 2\right) & P\left( c\right) \ \vee \ Q\left( c\right) & \left[ 1\right] & \left( 1\right) と\vee 導入 \\
\left( 3\right) & \forall x\in X\ \{\left[ P\left( x\right) \vee Q\left( x\right) \right] \rightarrow R\left( x\right) \} & \quad & 前提 \\
\left( 4\right) & \left[ P\left( c\right) \vee Q\left( c\right) \right] \rightarrow R\left( c\right) & \left[ 1\right] & \left( 3\right) と\forall 除去 \\
\left( 5\right) & R\left( c\right) & \left[ 1\right] & \left( 2\right) ,\left( 4\right) と\rightarrow 除去 \\
\left( 6\right) & P\left( c\right) \rightarrow R\left( c\right) & & \left( 1\right) ,\left( 5\right) と\rightarrow 導入 \\
\left( 7\right) & \forall x\in X\ \left[ P\left( x\right) \rightarrow R\left( x\right) \right] & & \left( 6\right) と\forall 導入\end{array}

次回は背理法について学びます。

次へ進む 演習問題(プレミアム会員限定)
Share on facebook
Share on twitter
Share on email
Share on print
< 前のページ
次のページ >

ワイズをさらに活用するための会員サービス

ユーザー名とメールアドレスを入力して一般会員に無料登録すれば、質問やコメントを投稿できるようになります。さらに、有料(500円/月)のプレミアム会員へアップグレードすることにより、プレミアムコンテンツ(命題の証明や演習問題、解答など)にアクセスできます。
会員サービス

ディスカッションに参加しますか?

質問やコメントを投稿するためにはログインが必要です
ログイン

述語論理
アカウント
ログイン