Loading [MathJax]/jax/output/HTML-CSS/jax.js

論理的思考法/演繹的推論

提供: Internet Web School

(版間での差分)
(演繹定理)
(演繹定理)
341 行: 341 行:
-
${\cal A}_k (j,k<i) $
+
<math>{\cal A}_k (j,k<i)</math>
があり
があり

2020年11月30日 (月) 15:25時点における版

目次

[非表示]

演繹推論

演繹的推論は論理的思考の根幹である.


簡単な例を挙げる。

  • (1)人間の髪の毛の本数は100万本以下である.
  • (2)東京都民の人口は1200万人である.

これらの命題が正しければ

  • (3)東京都民のうち少なくとも2人は髪の毛の本数は同じである.


この命題の正しさを示すには背理法による.

命題(3)の否定が成り立つものとする。


命題(3)は厳密に書くと

 「東京都民A,Bがいて,A,Bは同一人物でなくかつA,Bの髪の毛の本数は同じ」

である.

このこの命題の否定は

  • (4)任意の東京都民A,Bについて,A,Bが同一人物でなければ A,Bの髪の毛の本数は等しくない.

である.

ここでは(4)が正しいと仮定している.


東京都民一人一人にその人自身の髪の毛の本数によって背番号を振ることを考える. 例え ば毛の本数が0本の人には背番号0を,1000本の人には背番号1000を振る。


都民全員に付与した背番号は(4)の仮定により誰一人として同じものはなく, 一人一人に唯一の背番号が振られる.

「(1)人間の髪の毛の本数は100万本以下である.」が正しいとしているから 振られる番号は0番から100万まででの100万+1通りである.

都民全員に付与した背番号はそれぞれに唯一であるから 都民全員の数は100万人+1人である.

しかしこれは「(2)東京都民の人口は1200万人である.」に矛盾する.

この矛盾は 命題「東京都民のうち少なくとも2人は髪の毛の本数は同じである.」

の否定が成り立つとしたことによっている.

従って「東京都民のうち少なくとも2人は髪の毛の本数は同じである.」が正しい.


上記の 命題(1),(2)が正しければ命題(3)が正しいことを論証した過程は 論理の連鎖に依っている.命題(3)を否定した命題が正しいとして論理の連鎖を つくり,矛盾を導くことによって命題(3)の正しさを証明した.


演繹推論はこのように,正しいもとして与えられた命題から厳密な論理を 繰り返し適用することによって新たな命題を結論として導き出す.

この過程(証明)は,その論証の過程に出てくる命題やそれに施す論理的な推論を計算機によって処理できる形式化された記述で書けば,計算機によってその正しさを検証できる.それを形式化を行うかどうかは別として計算機による検証で正しさが認められるものでなければ完全な演繹推論とは言えない.


実際,以下は定理証明支援系のMizarによって上記の推論を記述したものである. Mizarのような定理証明支援系あるいは形式化証明検証システムでは,命題は全て記号列であり,三段論法その他の推論規則はそれらの複数の記号列を操作して 別の新たな記号列を構成する規則に過ぎない.証明は,前提となる命題(記号列)から出発して,目的の命題(記号列)に至る,推論規則により 生成された記号列の列にに過ぎない.


特に,A.I. や ICTの進歩など数学を含む科学技術の進歩の激流の中にある,科学工学の技術者はMizarのようなシステムの操作にも慣れ親しむことが必要になってくる.


environ

 vocabularies NUMBERS, REAL_1, FINSEQ_1, VALUED_0, XBOOLE_0, NEWTON, ARYTM_3,
      RELAT_1, NAT_1, XXREAL_0, ARYTM_1, SUBSET_1, CARD_1, CARD_3, ORDINAL4,
      TARSKI, INT_2, FUNCT_1, FINSEQ_2, PRE_POLY, PBOOLE, FINSET_1, XCMPLX_0,
      UPROOTS, FUNCT_2, BINOP_2, SETWISEO, INT_1, FUNCOP_1, NAT_3, XREAL_0;
 notations TARSKI, XBOOLE_0, SUBSET_1, FINSET_1, ORDINAL1, CARD_1, NUMBERS,
      XCMPLX_0, XXREAL_0, XREAL_0, REAL_1, NAT_D, INT_2, RELAT_1, FUNCT_1,
      FUNCT_2, FINSEQ_1, FINSEQ_2, VALUED_0, PBOOLE, RVSUM_1, NEWTON, WSIERP_1,
      TREES_4, BINOP_2, FUNCOP_1, XXREAL_2, SETWOP_2, PRE_POLY;
 constructors BINOP_1, SETWISEO, NAT_D, FINSEQOP, FINSOP_1, NEWTON, WSIERP_1,
      BINOP_2, XXREAL_2, RELSET_1, PRE_POLY, REAL_1,CARD_1;
 registrations XBOOLE_0, RELAT_1, FUNCT_1, FINSET_1, NUMBERS, XCMPLX_0,
      XXREAL_0, NAT_1, INT_1, BINOP_2, MEMBERED, NEWTON, VALUED_0, FINSEQ_1,
      XXREAL_2, CARD_1, FUNCT_2, RELSET_1, ZFMISC_1, FINSEQ_2, PRE_POLY,
      XREAL_0, RVSUM_1;
 requirements NUMERALS, SUBSET, ARITHM, REAL, BOOLE;
 definitions TARSKI, XBOOLE_0, INT_2, NAT_D, FINSEQ_1, VALUED_0, 
    PRE_POLY,FINSET_1,CARD_1;
 theorems ORDINAL1, NEWTON, NAT_1, XCMPLX_1, INT_1, CARD_4, XREAL_0, RVSUM_1,
      INT_2, PEPIN, FUNCT_1, CARD_2, PREPOWER, FINSEQ_1, TARSKI, XBOOLE_1,
      FUNCOP_1, WSIERP_1, XBOOLE_0, FINSEQ_2, FINSEQ_3, FINSEQ_4, RELAT_1,
      FINSOP_1, FUNCT_2, XREAL_1, XXREAL_0, NAT_D, VALUED_0, XXREAL_2,
      FINSET_1,PARTFUN1, PRE_POLY, CARD_1;
 schemes NAT_1, PRE_CIRC, FINSEQ_1, FINSEQ_2, PBOOLE, CLASSES1;

begin


now 
 let 
  Humankind be finite set, 
  Tokyoite be Subset of  Humankind,
  Numberofhair be  Function of Tokyoite,NAT ;


assume  LM1:
  card (Tokyoite) = 12*10|^6;
assume  LM2:
  for x be object 
     st x in Tokyoite 
  holds Numberofhair.x <= 10|^6;


LM0:
  10|^6 + 1 < 12*10|^6
proof
0 < 10|^6 by PREPOWER:6;
then
P2: 1*10|^6 < 11* 10|^6 by XREAL_1:68;
P3: 1 <  10 & 2 <= 6;
then
10 < 10 |^6 by PREPOWER:13;
then
1 < 10 |^6 by XXREAL_0:2,P3;
then
1 < 11*10|^6 by P2,XXREAL_0:2;
then
P4: 1*10|^6 + 1 < 1*10|^6 + 11*10|^6 by XREAL_1:8;
1*10|^6 + 11*10|^6 = (1+11)*10|^6  ;
hence thesis by P4;
end;


LM3:
  card (rng Numberofhair) <= 10|^6+1 
proof
 now let y be  object ;
   assume
   y in  rng Numberofhair;
   then
   consider  x be object 
     such that 
    A1: x in Tokyoite & y=Numberofhair.x   by FUNCT_2:11;
   Numberofhair.x <= 10|^6 by A1,LM2;
   then 
   Numberofhair.x < 10|^6+1 by NAT_1:16,XXREAL_0:2;
   then
   Numberofhair.x  in Segm (10|^6+1) by NAT_1:44,A1;
   hence 
   y in Segm (10|^6+1) by A1;
end;
then
A2: rng Numberofhair
   c= Segm (10|^6+1) by TARSKI:def 3;
 then
 card rng Numberofhair <= card Segm (10|^6+1) by NAT_1:43;
 then
 card rng Numberofhair <= card (10|^6+1) by ORDINAL1:def 17;
 hence 
 card rng Numberofhair <= (10|^6+1)  ;
end;

LM4:
card (rng (Numberofhair)) 
 < card  (Tokyoite) 
proof
reconsider N1= card (rng (Numberofhair)) 
 as Element of NAT ;
reconsider N2= card (Tokyoite) 
 as Element of NAT ;
A1: N1<=(10|^6+1) & N2=12*10|^6 by LM1,LM3;
then  
N1 < N2 by A1,XXREAL_0:2,LM0;
hence thesis ;
end;


EX:
  ex x,y be object  
    st x in Tokyoite 
       & y in Tokyoite 
       & x <> y   
       & Numberofhair.x = Numberofhair.y 

proof
assume 
A1: 
  not 
    (  ex x,y be object 
    st x in Tokyoite 
       & y in Tokyoite 
       & x <> y   
       & Numberofhair.x = Numberofhair.y ) ;

 then
A2:  for x,y be object 
    st x in Tokyoite 
       & y in Tokyoite 
       & x <> y   
     holds  
       Numberofhair.x <> Numberofhair.y  ;

A3: dom Numberofhair = Tokyoite by FUNCT_2:def 1;
then
for x,y be object st x in dom Numberofhair 
             & y in dom Numberofhair 
             & Numberofhair.x = Numberofhair.y 
      holds x = y by A2;
then
Numberofhair is one-to-one by FUNCT_1:def 4;
then
card  (dom Numberofhair) = card (rng Numberofhair) 
  by CARD_1:70;
then
card  (Tokyoite) = card (rng (Numberofhair)) 
  by A3;
hence contradiction by LM4;
end;
end;
   

公理系と推論

論理式

真」とする複数の命題から論理的操作をして,「真」である 命題を導き出す演繹推論は代数的演算のような扱いができる.

「真」 「偽」 「~でない」 「かつ」 「または」 「ならば」 をそれぞれ および  ¬,,,で表し, 命題と命題との「演算」とみなす.それらの「演算」の結果得られる ものを論理式と呼ぶがこれを以下のように以下のように 再帰的に定義される.


  • および は命題論理における論理式である。
  • 個々の命題変数は命題論理における論理式である。
  • A が論理命題における論理式ならば、¬A は命題論

理における論理式である。

  • A,B が命題論理における論理式ならば、

AB,AB,AB は、いずれも命題論理における論理式である。

  • 以上によって定まるもののみが命題論理における論理式である。

命題論理における論理式の全体を L と書くことにしよう。

L の要素である論理式は、いずれもその論理式を表現としてもつ真理 関数と考えられる。任意の真理関数は、その独立変数がとり得る値のとり方 (n 変数ならば 2n 通り)の各々の場合について、有限回の操作でその 値(関数値)を決定できる。

L の論理式の値(真理関数とみなした場合の関数値)が、(命題変数の 値のとり方のすべてに対して)つねに であるとき、そのような論理 式を{\gt 恒真論理式}(tautology)という。

命題計算

公理系と呼ばれる L の部分集合 A と推論規則が適当に定めら れ、恒真論理式が A から推論規則によって導けるような体系を、 {\gt 命題論理の公理的体系}、あるいは{\gt 命題計算の体系}という。

いろいろな公理的体系が知られているが、ここではヒルベルト(D. Hilbert) 流のものを挙げておこう。

以下、A,B,C は任意の L の要素とする。 {\gt 公理系 A} として、次の (1)(15) をとる。

  • AA
  • (AB)[(BC)(AC)]
  • A(AB)
  • B(AB)
  • (AC){(BC)[(AB)C]}
  • (AB)A
  • (AB)B
  • (CA){(CB)[C(AB)]}
  • [A(AB)]B
  • [(AC)B][C(AB)]
  • (A¬A)
  • [(AB)](B¬A)
  • A
  • A
  • A¬A

{\gt 推論規則}は、次の三段論法(modus ponens)のみである。横線の上の論 理式から下の論理式が導かれることを表わす。 AABB

証明可能性を定義する。すなわち、L の要素である論理式のうち、 {\gt 証明可能な論理式}(provable formula)を次のように定める:

  • 公理系の各公理の形の論理式は証明可能である。
  • 論理式 A と論理式 AB が証明可能なら

ば、(推論規則によって、)論理式 B は証明可能である。

  • 以上によって定まるものだけが、証明可能な論理式である。

演繹定理

証明可能な論理式の列を「証明」という。「証明可能性」の定義に従えば

A1,A2,,An

が「証明」のとき。各Ai

  • 公理系の各公理の形の論理式である。
  • 論理式Ai


の前に

論理式Aj

\({\cal A}_k (j,k 6 \Rightarrow 2>6 \\ ( 1=2 \land 2>6 \Rightarrow 2>6) \Rightarrow (2>6 \Rightarrow (1=2 \Rightarrow 2>6)) \\ 2>6 \Rightarrow ( 1=2 \Rightarrow 2>6) 便[] \frac{\cal A }{\cal B \Rightarrow A} \qquad (推論法則:添加) \cal A\cal B \Rightarrow A() \frac{\cal A,B }{\cal A \land B} \qquad (推論法則:論理積) \cal C \cal (C \lor \lnot C ) \Rightarrow A,(C \lor \lnot C ) \Rightarrow B (8) \cal \{ (C \lor \lnot C) \Rightarrow A \} \Rightarrow [ \{ (C \lor \lnot C) \Rightarrow B \} \Rightarrow \{ (C \lor \lnot C) \Rightarrow (A \land B ) \} ] \cal (C \lor \lnot C) \Rightarrow (A \land B ) (15) \cal C \lor \lnot C \cal A \land B \Box \frac{\cal A \land B }{\cal B \land A} \qquad (推論法則:交換) \frac{\cal A \lor B }{\cal B \lor A} \qquad (推論法則:交換) \cal A \Rightarrow \lnot \lnot A,\lnot \lnot A \Rightarrow A 「2重否定」 \frac{ \cal A \Rightarrow B ,B \Rightarrow C } {\cal A \Rightarrow C}(推論法則:推移) (2) \cal (A \Rightarrow B) \Rightarrow [(B \Rightarrow C ) \Rightarrow (A \Rightarrow C) ] \cal A \Rightarrow B \cal (B \Rightarrow C ) \Rightarrow (A \Rightarrow C) \cal B \Rightarrow C \cal A \Rightarrow C \Box \frac{ \cal A \Rightarrow (B \Rightarrow C) ,A \Rightarrow B } {\cal A \Rightarrow C} (推論法則:復推移) (8) \cal (A \Rightarrow B) \Rightarrow [ \{ A \Rightarrow (B \Rightarrow C) \} \Rightarrow \{A \Rightarrow B \land (B \Rightarrow C) \} ] {\cal A \Rightarrow (B \Rightarrow C) , A \Rightarrow B} {\cal A \Rightarrow \{ B \land (B \Rightarrow C) \} } (9) {\cal \{B \land (B \Rightarrow C)\} \Rightarrow C } \cal A \Rightarrow C \BoxHH = 公理系 A + 「推論規則」\bf L\cal AH\bf A\cal A \vdash_H \cal A \frac{\cal A \quad A \Rightarrow B}{\cal B} \frac{\vdash_H \cal A \quad \vdash_H A \Rightarrow B}{\vdash_H \cal B} \vdash_H==H{\bf A} {\cal A}_1,{\cal A}_2,\cdots,{\cal A}_n \cal B {\cal A}_1,{\cal A}_2,\cdots,{\cal A}_n \vdash_H \cal B {\cal A}_1,{\cal A}_2,\cdots,{\cal A} _{n-1} \vdash_H {\cal A}_n \Rightarrow {\cal B} {\cal A}_1,{\cal A}_2,\cdots,{\cal A} _{n-2}

 \vdash_H {\cal A} _{n-1} \Rightarrow ({\cal A}_n \Rightarrow  {\cal B})

\BoxH{\bf A} {\cal A}_1,{\cal A}_2,\cdots,{\cal A}_n H^1H{\bf A} {\cal A}_1,{\cal A}_2,\cdots,{\cal A}_{n-1} H^2 {\cal A}_1,{\cal A}_2,\cdots,{\cal A}_n \vdash_H \cal B \vdash_{H^1} \cal B \vdash_{H^2} {\cal A}_n \Rightarrow \cal B {\cal B}_1,{\cal B}_2, \cdots,{\cal B}_{n-1},{\cal B}_n(={\cal B}) H^1{\cal B}_i{\cal B}_i{\cal A}_1,{\cal A}_2,\cdots,{\cal A}_n{\cal B}_iH{\cal B}_i{\cal B}_j{\cal B}_k(j,k<i){\cal B}_k{\cal B}_j \Rightarrow {\cal B}_i {\cal A}_n \Rightarrow {\cal B}_1,{\cal A}_n \Rightarrow {\cal B}_2, \cdots,{\cal A}_n \Rightarrow {\cal B}_{n-1},{\cal A}_n \Rightarrow {\cal B}_n H^2{\cal A}_n \Rightarrow {\cal B}{\cal B}_i{\cal A}_1,{\cal A}_2,\cdots,{\cal A}_{n-1}

   \frac{\cal A }{\cal B \Rightarrow  A}

\qquad (添加) {\cal A}_n \Rightarrow {\cal B}_iH^2{\cal B}_i{\cal A}_n(1){\cal A}_n \Rightarrow {\cal A}_nH^2{\cal B}_iH{\cal A}_n \Rightarrow {\cal B}_iH^2{\cal B}_i{\cal B}_j{\cal B}_k(j,k<i){\cal B}_k{\cal B}_j \Rightarrow {\cal B}_i{\cal A}_n \Rightarrow {\cal B}_i{\cal A}_n \Rightarrow {\cal B}_j{\cal A}_n \Rightarrow ({\cal B}_j \Rightarrow {\cal B}_i) \frac{ \cal A \Rightarrow (B \Rightarrow C) ,A \Rightarrow B } {\cal A \Rightarrow C} (復推移) {\cal A}_n \Rightarrow {\cal B}_i\Box {\cal \lnot A}\vdash_H \bot \vdash_H \cal A {\cal \lnot A}\vdash_H \bot \vdash_H \cal \lnot A \Rightarrow A (1) \cal A \Rightarrow A (8) \cal (\lnot A \Rightarrow A) \Rightarrow [(A \Rightarrow A) \Rightarrow \{(A \lor \lnot A ) \Rightarrow A\} ] (15) \cal A \lor \lnot A \vdash_H \cal A \Box \frac{\cal \lnot A \Rightarrow \bot }{\cal A} \cal (\lnot A \Rightarrow \bot) \Rightarrow A \vdash_H \frac{\cal A \Rightarrow B}{\cal \lnot B \rightarrow \lnot A} (「対偶」) \cal \vdash_H A \Rightarrow B H\lnot BH^1\lnot A\lnot \lnot AH^2\vdash_{H^ 2} \cal A\vdash_{H^2} \cal B\vdash_{H^2} \bot \vdash_{H^1} {\cal \lnot B \Rightarrow \lnot A}\BoxH:[8]\cal A\vdash_H \cal A\Box>(completenesstheorem)[]\vdash_H \cal A\cal A\vdash_H \cal AH {\cal A}_1,{\cal A}_2, \cdots,{\cal A}_n \cal A{\cal A}_n{\cal A}_i{\cal A}_i{\cal A}_i{\cal A}_j{\cal A}_k(j,k<i){\cal A}_k{\cal A}_j \Rightarrow {\cal A}_ii{\cal A}_j{\cal A}_k{\cal A}_j \Rightarrow {\cal A}_i\topしかとらないから真理値表  \begin{tabular}{|c c||c|}  \hline{\cal A}_j&{\cal A}_i&{\cal A}_j \Rightarrow {\cal A}_i\\  \hline\bot&\bot&\top\\  \hline\bot&\top&\top\\  \hline\top&\bot&\bot\\  \hline\top&\top&\top\\  \hline  \end{tabular} から明らかなように{\cal A}_i\top{\cal A}_i\cal A\vdash_H \cal A[]\cal AX_1,X_2,\cdots,X_nX_1,X_2,\cdots,X_n\top,\bot\cal A\top \delta X_1,\delta X_2,\cdots \delta X_n \vdash_H \cal A \cal A\bot \delta X_1,\delta X_2,\cdots \delta X_n \vdash_H \cal \lnot A \delta X_iX_i\topX_i\bot\lnot X_i\Box[]\cal AX_1,X_2,\cdots,X_nX_1,X_2,\cdots,X_n\top,\bot\cal A\topX_1,X_2,\cdots,X_n\top,\bot2^n[]X_1,X_2,\cdots , X_n \vdash_H \cal A \\ X_1,X_2,\cdots , \lnot X_n \vdash_H \cal A \\ X_1,X_2,\cdots , \lnot X_{n-1},X_n \vdash_H \cal A \\ X_1,X_2,\cdots , \lnot X_{n-1},\lnot X_n \vdash_H \cal A \\ \cdots \\ \cdots \\ \lnot X_1,\lnot X_2,\cdots , \lnot X_n \vdash_H \cal A \\ X_1,X_2,\cdots , X_{n-1} \vdash X_n \Rightarrow \cal A \\ X_1,X_2,\cdots , X_{n-1} \vdash \lnot X_n \Rightarrow \cal A \\ X_1,X_2,\cdots , X_{n-1} \vdash_H \cal A X_nX_n2^{n-1}2^{n-1}X_{n-1}X_{n-1}2^{n-2}X_1,X_2,\cdots,X_n \vdash_H \cal A \Box*[補題1の証明]\mbox{}   \begin{description}   * 論理式\cal AXX\top X \vdash_H X\bot \lnot X \vdash_H \lnot X(1)\cal A\cal \lnot B,B \land C,B \lor C\cal B,C\cal A\cal \lnot B\cal A\top\cal B\bot \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \lnot \cal B\cal A\bot\cal B\top \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \cal B\cal B,\lnot B\cal A\cal \lnot A\cal A\cal B \lor C\cal A\top\cal B,C\top\cal B\top \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \cal B(3)\cal B \Rightarrow B \lor C \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \cal B \lor C\cal B \lor C\cal A\cal A\bot\cal B,C\bot \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \cal \lnot B \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H \cal \lnot C \frac{\cal P,Q}{\cal P \land Q} \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H

     \cal \lnot B \land \lnot C\cal \lnot B \land \lnot C\cal \lnot A(=\lnot (B \lor C))\cal A\cal B \land C\cal A\top\cal B,C\top \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H  \cal  B \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H  \cal  C

\frac{\cal P,Q}{\cal P \land Q} \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H

     \cal  B \land  C\cal B \land  C\cal  A\cal A\bot\cal B,C\bot\cal B\bot \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H  \cal \lnot B(3)\cal P \Rightarrow P \lor Q \delta X_1,\delta X_2,\cdots,\delta X_n \vdash_H  \cal \lnot B \lor \lnot C\cal \lnot B \lor \lnot C\cal \lnot A=\lnot(B \land C)\Box$
個人用ツール