論理演算 含意(=>)

会社で非プログラマ向けに「プログラマの数学」という
本を読む会を開いている。
僕はプログラマではあるが、面白そうだったので、
ちゃらちゃらと参加させてもらっているのである。


結構前に「含意」という論理演算を学ぶ機会があって
参加者が理解しにくそうだった。


そもそも含意っていうのは、
「AならばB」
って日本語で書かれる。


真理値表にするとこんな風になる。

+-------+-------+-------+
|   A   |   B   | A=>B  |
|-------+-------+-------+
| true  | true  | true  |
| true  | false | false |
| false | true  | true  |
| false | false | true  |
+-------+-------+-------+

これはまぁ丸覚えもできるだろうが、、、
僕はこう覚えた
「コーヒーにブライト、そうでなければ何でもいい」


・君がコーヒー(true)を飲むなら、ブライト(true)を入れろ(true)
・君がコーヒー(true)を飲むとき、マリーム(false)をいれるなら、君はクソ野郎(false)だ
・君がコーヒー以外(false)をのむなら、何を入れても(true|false)良い(true)んじゃない。


自分がネスカフェの営業マンにでもなった気分で念じろ!!
コーヒーにブライト派には友愛を!!
コーヒーにマリーム派には怒りの鉄槌を!!
まあ、他の人は別に好きでいいんじゃない。


追記(9/30)
やねうらお(id:yaneurao)さんが、似たようなのをブログで書いてた。
まともに勉強しないと、論理は難しいですな。


前提が偽の場合、式値は真
http://d.hatena.ne.jp/yaneurao/20090927#p1

「明日晴れてたら行きます」と約束して、当日、雨が降ってたので行かなかったからと言って約束を破ったことにはならないのと同じ理屈なのだが。

↑わかりやすい。