1 真理値表は、起こりうる場合をすべて並べる
複合的な命題の真偽を確かめる道具として、次の表を使います。
定義 1.1 (真理値表). 命題を組み立てている部品の真偽について、起こりうる組み合わせをすべて並べ、それぞれの場合に全体の真偽がどうなるかを書き出した表を真理値表 という。
部品がn n n 個であれば、真偽の組み合わせは2 n 2^n 2 n 通りなので、表の行は2 n 2^n 2 n 行になります。この表を埋めれば、起こりうる場合をもれなく調べたことになります。
たとえば、命題P P P の否定「P P P でない」(記号では¬ P \lnot P ¬ P )の真理値表は次のとおりです。
P P P が真であれば¬ P \lnot P ¬ P は偽であり、P P P が偽であれば¬ P \lnot P ¬ P は真です。否定は、真理値を入れ替える操作であると言うことができます。
2 「ならば」の真偽を定める規約
「ならば」で結んだ文の真偽は、次のように定めます。前件が偽である場合の扱いが要点です。
定義 2.1 (条件文). 二つの命題P P P 、Q Q Q を「P P P ならばQ Q Q 」と結んだ文を条件文 といい、P ⇒ Q P \Rightarrow Q P ⇒ Q と書く。P P P を前件 、Q Q Q を後件 という。その真理値を次で定める。
P P P
Q Q Q
P ⇒ Q P \Rightarrow Q P ⇒ Q
T
T
T
T
F
F
F
T
T
F
F
T
第2行だけが偽であり、残る3行はいずれも真です。とくに、前件P P P が偽である第3行と第4行では、後件Q Q Q の真偽にかかわらずP ⇒ Q P \Rightarrow Q P ⇒ Q を真と定めます。
この定め方は約束であって、証明することができる事実ではありません。ただし、P ⇒ Q P \Rightarrow Q P ⇒ Q が何を主張しているのかを考えると、この約束を選ぶ理由が分かります。P ⇒ Q P \Rightarrow Q P ⇒ Q は、「P P P が真であるのにQ Q Q が偽である」という場合が起こらないことを主張しています。前件が偽である場合には、この主張が破られる余地がそもそもありません。破られていない以上、その場合は真としておく、というのがこの規約です。
この規約が必要になる場面を、具体例で確かめます。
例 2.2 (前件が偽の行を真と定める理由). 実数x x x についての文「x > 2 x > 2 x > 2 ならばx > 1 x > 1 x > 1 」は、どの実数を代入しても成り立ってほしい文である。x = 3 x = 3 x = 3 では前件も後件も真なので第1行にあたり、真である。x = 0 x = 0 x = 0 では前件も後件も偽なので第4行にあたる。ここで第4行を偽と定めると、この文はx = 0 x = 0 x = 0 で偽になり、すべての実数について成り立つとは言えなくなる。
前件が偽である場合を真と定める規約は、こうした一般的な主張を扱うために必要です。
日常語の「ならば」は、前件と後件のあいだに因果関係や関連があることを含んで使われます。数学の条件文は、上の表が定める真理値だけを意味し、前件と後件に関連があることを要求しません。たとえば「1 = 2 1 = 2 1 = 2 ならば地球は平らである」は、前件が偽なので、この規約のもとでは真の命題です。
3 表で考える理由
論理の問題を、正しそうだという直感によって判断すると、誤った結論に至ることがあります。真理値表は、起こりうる場合をもれなく機械的に調べる ための道具です。複雑な命題であっても、部品に分解して表を埋めれば、真偽は必ず定まります。場合を尽くせば真偽の判定が計算になる、という点が、次の記事以降で扱う論理演算、条件と集合の対応、量化子の土台になります。
閑話休題:真偽の計算が、コンピュータを動かしている 真を1 1 1 、偽を0 0 0 とみなして機械的に計算する——本記事のこの発想は、比喩ではなく文字どおりコンピュータそのもの です。真理値の演算(AND・OR・NOT)は、電気を通すか通さないかを切り替えるスイッチの回路へ、そのまま対応させることができます。1937 1937 1937 年、当時21歳のクロード・シャノンは修士論文で、ブール代数(19 19 19 世紀にジョージ・ブールが「思考の法則」として作った抽象的な論理の代数)によって電気回路のスイッチを設計することができることを示しました。後に「史上もっとも重要な修士論文」と呼ばれるこの仕事が、デジタル回路とコンピュータ設計の理論的な出発点になりました。
ブールが純粋な思考の産物として作り上げた論理の代数が、100 100 100 年後に電子回路のハードウェアとして実装されたということです。今日のCPUは、数十億個の論理ゲート(AND・OR・NOT の回路)が真理値表を高速に計算する装置であり、この文章を表示している画面も、その膨大な真偽計算の結果です。検索エンジンの AND 検索・OR 検索、データベースの条件指定、プログラムの if 文は、いずれも真理値を0 0 0 と1 1 1 で処理する営みの延長線上にあります。真か偽かを機械的に計算するという論理の第一歩が、情報化社会の土台を支えています。
4 つまずいたら
真偽が定まらない文(意見・命令・疑問)は命題ではありません。まず、その文について真か偽かが一意に定まるかどうかを確かめてください。
「x > 0 x > 0 x > 0 」のように文字を含む文は、x x x の値を決めるまで真偽が定まりません。これは命題ではなく条件 と呼び、「条件と集合の対応」で扱います。真偽が値に依存するかどうかで、命題と条件を区別します。
前件が偽である条件文を偽と考えてしまう誤りが多く起こります。P ⇒ Q P \Rightarrow Q P ⇒ Q が偽になるのは「P P P が真であり、かつQ Q Q が偽である」場合の1通りだけです。真理値表の第2行だけが偽であることを確かめてください。