述語論理における推論規則

既知の事柄を前提とした上で、未知の事柄に関して結論を導き出すことを推論と呼びます。また、前提がすべて真であるような任意の解釈のもとで結論もまた真になるならば、その推論は妥当であると言います。妥当な推論を推論規則と呼びます。

推論

既知の事柄を前提(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*}と表現します。

 

妥当な推論:推論規則

論理式\(A_{1},\cdots ,A_{n},B\)に関する推論\begin{equation*} A_{1},\cdots ,A_{n}\ \therefore \ B
\end{equation*}が与えられた状況において、前提\(A_{1},\cdots ,A_{n}\)がすべて真であるような任意の解釈において結論\(B\)が必ず真になることが保証される場合、推論は妥当である(valid)と言い、そのことを、\begin{equation*} A_{1},\cdots ,A_{n}\ \models \ B
\end{equation*}と表現します。その上で、これを推論規則(inference rule)と呼びます。また、推論規則を構成する結論\(B\)を\(A_{1},\cdots ,A_{n}\)の論理的帰結(logical consequence)と呼びます。

例(妥当な推論)
論理式\(A,B\)に関する以下の推論\begin{equation*} A\vee B,\ A\rightarrow B\ \therefore \ B
\end{equation*}について考えます。それぞれの解釈において\(A,B\)は\(0\)または\(1\)を値としてとり得ます。したがって、様々な解釈のもとで起こり得る値の組み合わせについて真理値表を書くと、$$\begin{array}{cccc} \hline
A & B & A\vee B & A\rightarrow B \\ \hline 1 & 1 & 1 & 1 \\ \hline 1 & 0 & 1 & 0 \\ \hline 0 & 1 & 1 & 1 \\ \hline 0 & 0 & 0 & 1 \\ \hline \end{array}$$ を得ます。真理値表の1行目と3行目より、前提である\(A\vee B\)と\(A\rightarrow B\)がともに真であるような任意の解釈において結論\(B\)は常に真であるため、この推論は妥当です。したがって、\begin{equation*} A\vee B,\ A\rightarrow B\ \models \ B
\end{equation*}が成り立ちます。

述語論理では、論理式の真偽が議論領域や命題関数の解釈、量化などにも依存するため、真理値表だけを用いて妥当性を判定できるとは限りません。その代わり、前提が真となる任意の解釈について結論も真になることを確認します。

例(妥当な推論)
命題関数\(P\left( x\right) ,Q\left( x\right) \)に関する以下の推論 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \therefore \ Q\left( \overline{x}\right)
\end{equation*}について考えます。ただし\(\overline{x}\in X\)です。前提\begin{equation*} \forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right)
\end{equation*}がともに真であるような解釈を任意に選びます。\begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
\end{equation*}が真である場合、任意の\(x\in X\)について、\begin{equation*} P\left( x\right) \rightarrow Q\left( x\right)
\end{equation*}は真です。したがって、特に\(x=\overline{x}\)について、 \begin{equation*}
P\left( \overline{x}\right) \rightarrow Q\left( \overline{x}\right)
\end{equation*}は真です。もう一方の前提\(P\left( \overline{x}\right) \)も真であるため、このとき、含意の前提より\(Q\left( \overline{x}\right) \)は真です。したがって、\begin{equation*} \forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \models \ Q\left( \overline{x}\right)
\end{equation*}が成り立ちます。

前提を持たず結論\(B\)だけを持つ推論\begin{equation*} \therefore \ B
\end{equation*}が妥当であることを、\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*}が成り立ちます。

例(妥当な推論)
命題関数\(P\left( x\right) \)に関する以下の推論 \begin{equation*}
\therefore \ \forall x\in X:\left( P\left( x\right) \vee \lnot P\left(
x\right) \right)
\end{equation*}について考えます。任意の解釈と任意の\(x\in X\)について、排中律より、\begin{equation*} P\left( x\right) \vee \lnot P\left( x\right)
\end{equation*}は真です。したがって、
\begin{equation*}
\models \ \forall x\in X:\left( P\left( x\right) \vee \lnot P\left( x\right)
\right)
\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\)もまた真になることが保証されます。

例(妥当な推論)
先に例を通じて確認したように、命題関数\(P\left( x\right) ,Q\left( x\right) \)に関する以下の推論規則 \begin{equation}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \models \ Q\left( \overline{x}\right)
\quad \cdots (1)
\end{equation}が成立します。ただし\(\overline{x}\in X\)です。ここで、以下の解釈\begin{eqnarray*} X &:&\text{動物全体からなる集合} \\
P\left( x\right) &:&x\text{は哺乳類である} \\
Q\left( x\right) &:&x\text{は動物である}
\\
\overline{x} &:&\text{クジラ}
\end{eqnarray*}に注目すると、\(\left( 1\right) \)の2つの前提から、\begin{eqnarray*} &&\text{すべての哺乳類は動物である} \\
&&\text{クジラは哺乳類である}
\end{eqnarray*}が得られます。これらはともに真であるため、\(\left( 1\right) \)より、先の解釈の具体的なもとでは、\(Q\left( \overline{x}\right) \)すなわち、\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}が成り立つことが分かっている状況を想定します。では、ある解釈のもとで\(B\)が偽である場合、推論規則\(\left( 1\right) \)が成立するという事実から何らかの有益な事実を導き出せるでしょうか。ある解釈のもとで\(B\)が偽である場合、その解釈のもとでは\(A_{1},\cdots ,A_{n}\)の中の少なくとも1つが偽であることが保証されます。なぜなら、仮にその解釈のもとで\(A_{1},\cdots ,A_{n}\)がすべて真である場合、推論規則\(\left( 1\right) \)より\(B\)が真であることが導き出され、これは\(B\)が偽であることと矛盾するからです。

例(妥当な推論)
先に例を通じて確認したように、命題関数\(P\left( x\right) ,Q\left( x\right) \)に関する以下の推論規則 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \models \ Q\left( \overline{x}\right)
\end{equation*}が成立します。ただし\(\overline{x}\in X\)です。ある解釈のもとで\(P\left( \overline{x}\right) \)が真であり、\(Q\left( \overline{x}\right) \)が偽であるものとします。すると、その解釈のもとでは、もう一方の前提 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
\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\)が偽になる解釈を反例(counterexample)と呼びます。推論が妥当でないこととは、その推論に反例が存在することを意味します。逆に、反例が存在しない場合、その推論は妥当です。

例(妥当ではない推論)
命題関数\(P\left( x\right) ,Q\left( x\right) \)に関する以下の推論 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ Q\left( \overline{x}\right) \ \therefore \ P\left( \overline{x}\right)
\end{equation*}について考えます。議論領域\(X\)が少なくとも\(\overline{x}\)を含み、すべての\(x\in X\)について\(P\left( x\right) \)が偽であり、\(Q\left( \overline{x}\right) \)が真であるような解釈を考えます。このとき、 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
\end{equation*}は真であり、\(Q\left( \overline{x}\right) \)も真ですが、\(P\left( \overline{x}\right) \)は偽です。したがって、 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ Q\left( \overline{x}\right) \ \not\models \ P\left( \overline{x}\right)
\end{equation*}が成り立ちます。

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

例(妥当ではない推論)
命題関数\(P\left( x\right) \)について、 \begin{equation*}
\therefore \ \exists x\in X:P\left( x\right)
\end{equation*}という推論を考えます。すべての\(x\in X\)について\(P\left( x\right) \)が偽であるような解釈では、 \begin{equation*}
\exists x\in X:P\left( x\right)
\end{equation*}は偽です。したがって、
\begin{equation*}
\not\models \ \exists x\in X:P\left( x\right)
\end{equation*}が成り立ちます。

 

推論規則を導く方法

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

例(推論規則の導出)
命題関数\(P\left( x\right) ,Q\left( x\right) \)に関する以下の推論 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ \forall x\in X:P\left( x\right) \ \therefore \ \forall x\in X:Q\left(
x\right)
\end{equation*}について考えます。2つの前提がともに真である任意の解釈を選び、\(x\in X\)を任意に選びます。第1の前提より、 \begin{equation*}
P\left( x\right) \rightarrow Q\left( x\right)
\end{equation*}は真であり、第2の前提より\(P\left( x\right) \)も真です。したがって\(Q\left( x\right) \)は真です。\(x\)は任意であるため、 \begin{equation*}
\forall x\in X:Q\left( x\right)
\end{equation*}が真です。したがって、
\begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ \forall x\in X:P\left( x\right) \ \models \ \forall x\in X:Q\left(
x\right)
\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*}
証明

会員専用コンテンツです
【ログイン】【会員登録】

例(推論規則の導出)
以下の推論
\begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \therefore \ Q\left( \overline{x}\right)
\end{equation*}に対応する論理式は、
\begin{equation*}
\left( \left( \forall x\in X:\left( P\left( x\right) \rightarrow Q\left(
x\right) \right) \right) \wedge P\left( \overline{x}\right) \right)
\rightarrow Q\left( \overline{x}\right)
\end{equation*}です。任意の解釈を選びます。前件が偽ならばこの含意は真です。前件が真ならば、
\begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
\end{equation*}と\(P\left( \overline{x}\right) \)がともに真です。したがって\(Q\left( \overline{x}\right) \)も真です。ゆえに対応する論理式は恒真式であり、 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \models \ Q\left( \overline{x}\right)
\end{equation*}が成り立ちます。

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

演習問題

問題(推論規則)
命題関数\(P\left( x\right) ,Q\left( x\right) \)について、 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ P\left( \overline{x}\right) \ \models\ Q\left( \overline{x}\right)
\end{equation*}が成り立つことを示してください。ただし、\(\overline{x}\in X\)とします。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(推論規則)
命題関数\(P\left( x\right) ,Q\left( x\right) \)について、 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ \forall x\in X:P\left( x\right) \ \models\ \forall x\in X:Q\left( x\right)
\end{equation*}が成り立つことを示してください。

解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(推論の妥当性)
以下の推論が妥当であるか判定してください。
\begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ \exists x\in X:Q\left( x\right) \ \therefore\ \exists x\in X:P\left(
x\right)
\end{equation*}
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(推論の妥当性)
以下の推論が妥当であるか判定してください。
\begin{equation*}
\exists x\in X:P\left( x\right) \ \therefore\ \forall x\in X:P\left( x\right)
\end{equation*}
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(推論の妥当性)
命題関数\(P\left( x\right) ,Q\left( x\right) ,R\left( x\right) \)に関する以下の推論が妥当であるか判定してください。 \begin{equation*}
\forall x\in X:\left( P\left( x\right) \rightarrow Q\left( x\right) \right)
,\ \forall x\in X:\left( Q\left( x\right) \rightarrow R\left( x\right)
\right) ,\ P\left( \overline{x}\right) \ \therefore\ R\left( \overline{x}\right)
\end{equation*}
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(前提を持たない推論の妥当性)
以下の推論が妥当であるか判定してください。
\begin{equation*}
\therefore\ \forall x\in X:\left( P\left( x\right) \rightarrow P\left(
x\right) \right)
\end{equation*}
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(推論規則)
以下の推論規則が成り立つことを示してください。
\begin{equation*}
\forall x\in X:\left( P\left( x\right) \vee Q\left( x\right) \right) ,\
\forall x\in X:\lnot P\left( x\right) \ \models\ \forall x\in X:Q\left(
x\right)
\end{equation*}
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

この教材についての議論

この教材について質問したり、他の学習者と議論したりするには会員登録とログインが必要です。

  • 会員はコメントを投稿できます
  • 他のユーザーへの返信も可能です
  • 過去の議論を検索・閲覧できます
  • 投稿内容は後から編集できます

WIISでは、年齢・性別・学歴・職業・社会的立場などにかかわらず、すべてのユーザーが「学ぶ人」として対等であると考えています。

ここは知識を競う場所ではなく、互いの考えを尊重しながら理解を深めていくための場です。質問や意見の表明はもちろん、分からないことを率直に尋ねることも歓迎します。

建設的で安心できる学習環境を維持するため、投稿の前にガイドラインをご確認ください。

誤字脱字、リンク切れ、内容の誤りを発見した場合には以下のフォームからご連絡をお願い致します。

AIに質問
wiis専属チューター ×
本日の利用回数を確認中...
こんにちは!この教材の専属チューターです。数式の証明や概念の解説など、何でも聞いてください。

💡 教材のテキストや数式をドラッグ選択すると、自動的に下の入力欄に数式付きで引用されます!

このページの目次

MEMBERSHIP

学びを、次の深さへ。

WIISの有料会員に登録すると、
会員限定コンテンツへのアクセス、
PDF教材のダウンロード、
AI Tutorの利用、フォーラムへの参加など、
さまざまな会員特典をご利用いただけます。

会員限定コンテンツ

学習をさらに深めるための限定コンテンツを提供しています。

PDF教材

教材をPDFとしてダウンロードして利用できます。

AI Tutor

理解を深めるための学習支援AIを利用できます。

コミュニティ機能

学習者同士で交流し、議論や研究に参加できます。

最近閲覧したページ