論理を応用した有名なクイズ [お前らに質問]
その分岐点に天使の姿をしたネムネコとブラゲロ・マムシがいる。
質問されると、ネムネコは必ず嘘をつき、ブラゲロ・マムシは必ず正しく答えてくれる。ただし、見た目から、ドッチがネムネコでブラゲロ・マムシかは判断できないケロよ。
お前らは、ネムネコ天使かブラゲロ・マムシ天使のどちらか一方にだけ、「はい」か「いいえ」で答えてもらえる質問するチャンスが与えられている。
さあ、お前らは、天国に行くためになんと質問するか?
プログラム的な両刀論法の証明 by ddt³さん [ひとこと言わねば]
プログラム的な両刀論法の証明 by ddt³さん
ddt³さんからコンピュータのプラグラム的解答をいただいたので、それを紹介します。
昔の最も単純なコンピュータのCPUは論理記号の「かつ(and)」、「または(or)」、「ない(not)」などの論理回路から構成されていたことから明らかなように、コンピュータと論理(計算)の間には切っても切れない深い関係がある。0(False)と1(True)の2進数を使うコンピュータの計算原理は、論理(計算)そのものだにゃ。
だから、ddt³さんのようなこうした回答があっても然るべきだと思う。
論理回路
論理回路を実際に組み立て、電流を流すことによって、これを証明することだってできる。
マリオメーカー(って何だ(・・?)を使って証明することだってできるかもしれない(^^ゞ
>
たとえば、これは次のような命題である。
「ネムネコに遭遇すると、お前らはネコパンチをくらう」
「ブラゲロ・マムシに遭遇すると、お前らは毒を吐かれる」
「ネムネコに遭遇するか、プラゲロ・マムシに遭遇するかである」
ゆえに、
「お前らはネコパンチを食らうか、毒を吐かれる」
>
じつはこれ、構文論的証明なんですよね(^^)。ここでの原始命題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³さん)
第10回 「すべての」と「ならば」を含む複合命題 [集合と論理]
第10回 「すべての」と「ならば」を含む複合命題
数学には「a(x)ならばb(x)」という形の命題が多い。これは、条件命題ではなく、全称命題
「すべてのxについて、a(x)ならばb(x)」
または
「すべてのxは、a(x)ならばb(x)」
で、
の意味である。
ところで、
であるので、
となる。
a(x)、b(x)の真理集合をA、Bとすると、条件命題の真理集合はとなるので、
となる。
すなわち、
したがって、∀x(a(x)⇒b(x))の真偽は、真理集合の包含関係A⊂Bを調べることにことによって知ることができる。
また、このことから、
となる。
問1 次の命題の真偽を調べよ。
(1) x²+x<2ならばx²−x<2
(2) x²−3x+2<0ならばx²+3x+2>0
(3) x+y<1ならばx²+y²<1
【解答】
(1) x²+x<2の真理集合をA、x²−x<2の真理集合をBとすると、
したがって、偽
(2) x²−3x+2<0の真理集合をA、x²+3x+2>0の真理集合をBとすると、
よって、真である。
(3) x+y<1の真理集合をA、x²+y²<1の真理集合をBとすると、
A,Bを座標平面上に書くと、下図のようになり、。
よって、偽である。
(解答終)
問2 真理集合包含関係を調べて、実数x、yに関する次の命題に真偽を定めよ。
【解答】
(1) y=|x|の真理集合をA、y²=x²の真理集合をBとすると、
これを図示すると、下図のようになり、A⊂B。
したがって、この命題は真である。
(2) (x²+y²<1)∧(x+y+1<0)の真理集合をA、(x<0)∧(y<0)の真理集合をBとすると、
これを図示すると、下図のようになり、A⊂B。
したがって、この命題は真である。
(解答終)
問3 ある正の数a、bに対してax+by>0ならば、x>0またはy>0であることを証明せよ。
【解】
だから、この対偶をとると、
すなわち、
x≦0かつy≦0ならば、全ての正数a、bに対してax+by≦0である
になり、これは明らか。
よって、成り立つ。
(解答終)