SSブログ

プログラム的な両刀論法の証明 by ddt³さん [ひとこと言わねば]

プログラム的な両刀論法の証明 by ddt³さん

 

 

ddt³さんからコンピュータのプラグラム的解答をいただいたので、それを紹介します。

昔の最も単純なコンピュータのCPUは論理記号の「かつ(and)」、「または(or)」、「ない(not)」などの論理回路から構成されていたことから明らかなように、コンピュータと論理(計算)の間には切っても切れない深い関係がある。0(False)と1(True)の2進数を使うコンピュータの計算原理は、論理(計算)そのものだにゃ。

だから、ddt³さんのようなこうした回答があっても然るべきだと思う。

 

論理回路

https://goo.gl/4U6MQM

 

論理回路を実際に組み立て、電流を流すことによって、これを証明することだってできる。
マリオメーカー(って何だ(・・?)を使って証明することだってできるかもしれない(^^ゞ

 

 


 

たとえば、これは次のような命題である。

 「ネムネコに遭遇すると、お前らはネコパンチをくらう」

 「ブラゲロ・マムシに遭遇すると、お前らは毒を吐かれる」

 「ネムネコに遭遇するか、プラゲロ・マムシに遭遇するかである」

ゆえに、

 「お前らはネコパンチを食らうか、毒を吐かれる」

 

 じつはこれ、構文論的証明なんですよね(^^)。ここでの原始命題a,b,c,・・・は、a⇒b:「ネムネコに遭遇すると、お前らはネコパンチをくらう」などですが、構文論で重要なのは個々の「原始命題の意味」ではなく、「論理の流れの意味」です。ただしこれは実際上の話で、理屈の上では構文論的証明は「意味」に関わる事無く機械的に行えます。以下で、 _ は継続行マーク, [・・・]はコメント行を表します。

 

(Main開始)

((a⇒b)∧(c⇒d)∧(a∨c))⇒(b∨d)を示す。

(a⇒b)∧(c⇒d)∧(a∨c)を仮定する。

 

 (sub-1呼び出し,sub名:補助仮定の方法)

 (引数:Aを仮定してBを導ければ、 _

     A⇒Bは真。)

 

  [(a⇒b)∧(c⇒d)∧(a∨c)を仮定した。]

 

  (sub-2呼び出し,sub名:論理積の分解法則)

  (引数:A∧B∧C∧・・・が真なら、 _

A,B,C,・・・は同時に真。)

  (sub-2復帰)

 

  (a⇒b)(c⇒d)(a∨c)は同時に真。

 

  (sub-1呼び出し)aを仮定する。

   [(a⇒b)(c⇒d)(a∨c)は同時に真。]

   aと(a⇒b)は同時に真。

 

   (sub-4呼び出し,sub名:三段論法)

   (引数:AとA⇒Bが同時に真なら、 _

Bは真。)

   (sub-4復帰)

 

   bは真。

   b⇒(b∨d)は公理(要するに真)。

   (b∨d)は真(sub-4を呼び出して復帰)。

  (sub-1復帰)

 

  a⇒(b∨d)は真。

 

  (sub-1呼び出し)cを仮定する。

   [(a⇒b)(c⇒d)(a∨c)は同時に真。]

   cと(c⇒d)は同時に真。

   dは真(sub-4を呼び出して復帰)。

   d⇒(b∨d)は公理(要するに真)。

   (b∨d)は真(sub-4を呼び出して復帰)。

  (sub-1復帰)

 

  c⇒(b∨d)は真。

 

  [a⇒(b∨d)とc⇒(b∨d)は同時に真。]

 

  (sub-5呼び出し,sub名:場合分けの方法)

  (引数:A⇒CとB⇒Cが同時に真なら、 _

(A∨B)⇒Cは真。)

  (sub-5復帰)

 

  (a∨c)⇒(b∨d)は真。

 

  [(a⇒b)(c⇒d)(a∨c)は同時に真だった。]

  (a∨c)は真。

 

  (b∨d)は真(sub-4を呼び出して復帰)。

 (sub-1復帰)

 

 [(a⇒b)∧(c⇒d)∧(a∨c)を仮定していた。]

 ((a⇒b)∧(c⇒d)∧(a∨c))⇒(b∨d)は真。

(Main終了)

 

 ・・・となります(^^;)

 絶対に構文論的証明が、プログラミングの原型だと思えるんですよね(^^)

 

(by ddt³さん)

 


nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。