教材一覧
PROPOSITIONAL LOGIC

推論規則

次のページ >
Share on twitter
Twitterで共有
Share on email
メールで共有

推論

既知の事柄を前提(premise)とした上で、未知の事柄に関する結論(conclusion)を導き出すことを推論(inference)と呼びます。より正確には、推論とは、前提に相当する有限個の論理式\(A_{1},\cdots ,A_{n}\)がすべて真であるような任意の解釈において、結論に相当する論理式\(B\)が必ず真になるという主張であり、これを、\begin{equation*}
A_{1},\cdots ,A_{n}\ \therefore \ B
\end{equation*}と定式化します。これを推論式(inference formula)と呼びます。以降では推論式とそれが表す推論と区別せずに、両者を推論と呼ぶこともあります。

前提を持たず結論\(B\)だけを持つ推論を考える際には、それを、\begin{equation*}
\therefore \ B
\end{equation*}と記述します。これは論理式\(B\)が恒真式であるという主張です。

 

妥当な推論:推論規則

前提\(A_{1},\cdots ,A_{n}\)がすべて真であるような任意の解釈において結論\(B\)が必ず真であることが保証される場合、その推論は妥当である(valid)と言い、そのことを、\begin{equation*}
A_{1},\cdots ,A_{n}\ \models \ B
\end{equation*}と表記します。これを推論規則(inference rule)と呼びます。

例(妥当な推論)
論理式\(A,B\)に関する以下の推論\begin{equation*}A\rightarrow B,\ \lnot B\ \therefore \ \lnot A
\end{equation*}について考えます。

\begin{array}{ccccc}
\hline
A & B & \lnot A & \lnot B & A\rightarrow B \\ \hline
1 & 1 & 0 & 0 & 1 \\ \hline
1 & 0 & 0 & 1 & 0 \\ \hline
0 & 1 & 1 & 0 & 1 \\ \hline
0 & 0 & 1 & 1 & 1 \\ \hline
\end{array}

表:妥当な推論

上の真理値表の4行目より、先の推論の前提である\(A\rightarrow B\)と\(\lnot B\)がともに真である場合には結論\(\lnot A\)が真であることが保証されるため、先の推論は妥当です。つまり、\begin{equation*}A\rightarrow B,\ \lnot B\ \models \ \lnot A
\end{equation*}が成り立ちます。

前提を持たず結論\(B\)だけを持つ推論が妥当であることを、\begin{equation*}\models \ B
\end{equation*}と表記します。これは論理式\(B\)が恒真式であることを意味します。

例(妥当な推論)
論理式\(A\)に関する以下の推論\begin{equation*}\therefore \ A\vee \lnot A
\end{equation*}について考えます。排中律より\(A\vee \lnot A\)は恒真式であるため、この推論は妥当です。つまり、\begin{equation*}\models \ A\vee \lnot A
\end{equation*}が成り立ちます。

推論が妥当であることの厳密な定義は以上の通りですが、これはどのような意味を持っているのでしょうか。繰り返しになりますが、前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)に関する推論が妥当であること、すなわち、\begin{equation}A_{1},\cdots ,A_{n}\ \models \ B \quad \cdots (1)
\end{equation}が成り立つこととは、\(A_{1},\cdots ,A_{n}\)がすべて真である場合には必ず\(B\)も真になることが保証されることを意味します。ここで注意したいのは、推論規則は任意の論理式\(A_{1},\cdots,A_{n},B\)に関して成立する一般的な法則であるということです。つまり、推論規則\(\left( 1\right) \)が成り立つことが分かっている場合には、\(\left( 1\right) \)を構成する\(A_{1},\cdots ,A_{n},B\)にそれぞれどのような具体的な論理式\(\alpha _{1},\cdots ,\alpha _{n},\beta \)を入れた場合においても、\(\alpha _{1},\cdots ,\alpha _{n}\)がすべて真である限りにおいて\(\beta \)もまた真になることが保証されます。

例(妥当な推論)
先に例を通じて確認したように、論理式\(A,B\)に関して以下の推論規則\begin{equation*}A\rightarrow B,\ \lnot B\ \models \ \lnot A
\end{equation*}が成立します。ここで、以下のような具体的な推論\begin{eqnarray*}
&&\text{もしあなたが手術を受ければ病気は治ったはずだ} \\
&&\text{あなたの病気は治らなかった} \\
&&\text{したがって、あなたは手術を受けなかった}
\end{eqnarray*}について考えます。命題変数\(P,Q\)をそれぞれ、\begin{eqnarray*}P &:&\text{あなたが手術を受ける} \\
Q &:&\text{あなたの病気は治る}
\end{eqnarray*}と定義すると、先の推論を、\begin{equation*}
P\rightarrow Q,\ \lnot Q\ \therefore \ \lnot P
\end{equation*}と定式化できます。命題変数は論理式であることと先の推論規則を踏まえると、これは妥当な推論です。これは、以下の2つの主張\begin{eqnarray*}
&&\text{もしあなたが手術を受ければ病気は治ったはずだ} \\
&&\text{あなたの病気は治らなかった}
\end{eqnarray*}がともに正しい状況(例えば、医師が確かな技術を持っているにも関わらず患者の病気が治らなかったケース)においては、\begin{equation*}
\text{したがって、あなたは手術を受けなかった}
\end{equation*}という状況が必ず発生していることを意味します。

推論規則を別の形で理解することもできます。前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)に関する推論が妥当であること、すなわち、\begin{equation}A_{1},\cdots ,A_{n}\ \models \ B \quad \cdots (1)
\end{equation}が成り立つことが分かっている状況を想定します。繰り返しになりますが、推論規則は任意の論理式\(A_{1},\cdots ,A_{n},B\)に関して成立する一般的な法則であるため、\(\left( 1\right) \)を構成する\(A_{1},\cdots ,A_{n},B\)にそれぞれどのような具体的な論理式\(\alpha _{1},\cdots ,\alpha_{n},\beta \)を入れた場合においても、\(\alpha _{1},\cdots ,\alpha _{n}\)がすべて真である限りにおいて\(\beta \)もまた真になることが保証されます。では、結論として採用した具体的な論理式\(\beta \)が偽である場合、推論規則\(\left( 1\right) \)が成立するという事実から何らかの有益な事実を導き出せるでしょうか。\(\beta \)が偽である場合、前提として採用した論理式\(\alpha _{1},\cdots ,\alpha _{n}\)の中の少なくとも1つが偽であることが保証されます。なぜなら、仮に\(\alpha _{1},\cdots ,\alpha _{n}\)がすべて真である場合、推論規則\(\left( 1\right) \)より\(\beta \)が真であることが導き出され、これは\(\beta \)が偽であることと矛盾するからです。

例(妥当な推論)
先に確認したように、以下の具体的な推論は妥当です。\begin{eqnarray*}
&&\text{もしあなたが手術を受ければ病気は治ったはずだ} \\
&&\text{あなたの病気は治らなかった} \\
&&\text{したがって、あなたは手術を受けなかった}
\end{eqnarray*}今、この人が実際には手術を受けたにも関わらず病気が治らなかったとします。つまり、前提の1つである\begin{equation*}
\text{あなたの病気は治らなかった}
\end{equation*}が真であるとともに、結論である、\begin{equation*}
\text{したがって、あなたは手術を受けなかった}
\end{equation*}が偽である状況を想定するということです。推論が妥当である状況において結論が偽である場合、先の議論より、少なくとも1つの前提が偽でなければなりません。したがって、この場合、もう一方の前提である、\begin{equation*}
\text{もしあなたが手術を受ければ病気は治ったはずだ}
\end{equation*}が偽であることを意味します。つまり、先の推論が妥当であるという状況において、手術を受けたにも関わらず病気が治らなかったのであれば、「手術を受ければ病気は治る」という主張が偽である(例えば、医師が未熟である場合)ことが結論付けられるということです。

 

妥当ではない推論

前提\(A_{1},\cdots ,A_{n}\)がすべて真であるとともに結論\(B\)が偽であるような解釈が存在する場合、その推論は妥当でない(invalid)と言い、そのことを、\begin{equation*}
A_{1},\cdots ,A_{n}\ \not\models \ B
\end{equation*}と表記します。

前提\(A_{1},\cdots ,A_{n}\)がすべて真であるとともに結論\(B\)が偽であるような解釈を反例(counter example)と呼びます。推論が妥当でないこととは、その推論に反例が存在することを意味します。逆に、推論に反論が存在しない場合、その推論は妥当です。

例(妥当ではない推論)
論理式\(A,B\)に関する以下の推論\begin{equation*}\lnot A,\ A\rightarrow B\ \therefore \ \lnot B
\end{equation*}について考えます。

\begin{array}{ccccc}
\hline
A & B & \lnot A & \lnot B & A\rightarrow B \\ \hline
1 & 1 & 0 & 0 & 1 \\ \hline
1 & 0 & 0 & 1 & 0 \\ \hline
0 & 1 & 1 & 0 & 1 \\ \hline
0 & 0 & 1 & 1 & 1 \\ \hline
\end{array}

表:妥当ではない推論

上の真理値表の3行目より、先の推論の前提である\(\lnot A\)と\(A\rightarrow B\)がともに真で結論\(\lnot B\)が偽であるような解釈が存在するため、先の推論は妥当ではありません。つまり、\begin{equation*}\lnot A,\ A\rightarrow B\ \not\models \ \lnot B
\end{equation*}が成り立ちます。

前提を持たず結論\(B\)だけを持つ推論が妥当でないことを、\begin{equation*}\not\models \ B
\end{equation*}と表記します。これは論理式\(B\)が恒真式でない(恒偽式もしくは事実式である)ことを意味します。

例(妥当ではない推論)
論理式\(A\)に関する以下の推論\begin{equation*}\therefore \ A\wedge \lnot A
\end{equation*}について考えます。矛盾律より\(A\vee \lnot A\)は恒偽式であるため、この推論は妥当ではありません。つまり、\begin{equation*}\not\models \ A\wedge \lnot A
\end{equation*}が成り立ちます。

 

推論規則を導く方法

推論の妥当性を示す方法はいくつか存在します。1つ目の方法は、すべての前提\(A_{1},\cdots ,A_{n}\)が真であることを仮定した上で、結論\(B\)が真になることを示すというものです。

例(推論規則の導出)
論理式\(A,B\)に関する以下の推論\begin{equation*}A\rightarrow B,\ A\ \therefore \ B
\end{equation*}について考えます。前提である\(A\rightarrow B\)と\(A\)がともに真であるものと仮定します。この場合、\(\rightarrow \)の定義より\(B\)は真であるため、推論は妥当です。つまり、\begin{equation*}A\rightarrow B,\ A\ \models \ B
\end{equation*}が成り立ちます。

推論の妥当性を示すための2つ目の方法は、前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)から以下の論理式\begin{equation*}\bigwedge_{i=1}^{n}A_{i}\ \rightarrow \ B
\end{equation*}を構成した上で、これが恒真式であること、すなわち、\begin{equation*}
\bigwedge_{i=1}^{n}A_{i}\ \Rightarrow \ B
\end{equation*}が成り立つことを示すというものです。なぜなら、この恒真式が成立することと、前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)に関する推論が妥当であることは必要十分だからです(演習問題にします)。

命題(推論の妥当性)
前提\(A_{1},\cdots ,A_{n}\)と結論\(B\)について、以下の2つの命題はお互いに必要十分である。\begin{eqnarray*}&&\left( a\right) \ A_{1},\cdots ,A_{n}\ \models \ B \\
&&\left( b\right) \ \bigwedge_{i=1}^{n}A_{i}\ \Rightarrow \ B
\end{eqnarray*}
証明

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

例(推論規則の導出)
論理式\(A,B\)に関する以下の推論\begin{equation*}A\rightarrow B,\ \lnot B\ \therefore \ \lnot A
\end{equation*}について考えます。この推論に対応する論理式は、\begin{equation*}
\left[ \left( A\rightarrow B\right) \wedge \lnot B\right] \rightarrow \lnot A
\end{equation*}です。この論理式の真理値表は、
\begin{array}{ccccccc}
\hline
A & B & \lnot A & \lnot B & A\rightarrow B & \left( A\rightarrow B\right) \wedge \lnot B & \left[ \left( A\rightarrow B\right) \wedge \lnot B\right] \rightarrow \lnot A \\ \hline
1 & 1 & 0 & 0 & 1 & 0 & 1 \\ \hline
1 & 0 & 0 & 1 & 0 & 0 & 1 \\ \hline
0 & 1 & 1 & 0 & 1 & 0 & 1 \\ \hline
0 & 0 & 1 & 1 & 1 & 1 & 1 \\ \hline
\end{array}
表:推論の妥当性

となるため、\begin{equation*}
\left[ \left( A\rightarrow B\right) \wedge \lnot B\right] \Rightarrow \lnot A
\end{equation*}が成り立つことが示されました。したがって、推論は妥当であり、\begin{equation*}
A\rightarrow B,\ \lnot B\ \models \ \lnot A
\end{equation*}が成り立ちます。

推論の妥当性を示すための3つ目の方法は、前提\(A_{1},\cdots ,A_{n}\)を出発点として推論規則を用いて結論を次々に導出し、最終的に当初の推論式の結論\(B\)を導出するというものです。これは証明(proof)と呼ばれる手続きですが、これについては後ほど詳しく解説することにして、次回からは証明において役に立つ推論規則をいくつか提示します。

 

演習問題

問題(推論規則)
論理式\(A,B\)に関する以下の推論規則\begin{equation*}A\vee B,\ A\rightarrow B\ \models \ B
\end{equation*}が成り立つことを示してください。
証明

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

問題(推論規則)
論理式\(A,B\)に関する以下の推論規則\begin{equation*}A\rightarrow B,\ A\ \models \ B
\end{equation*}が成り立つことを示してください。
証明

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

次回は含意除去と呼ばれる推論規則について解説します。

次のページ >
Share on twitter
Twitterで共有
Share on email
メールで共有
RELATED KNOWLEDGE

関連知識

DISCUSSION

質問とコメント

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

命題論理