§A3.1命題と真偽、真理値表

最終更新

真偽のはっきりしない文を議論へ持ち込むと、何を示せば主張したことになるのかが定まりません。まず、扱う対象を真偽の定まる文に限るところから始めます。

定義 1 (命題と真理値). 真か偽かのいずれか一方に定まる主張を命題という。命題が真であることを 真(T)、偽であることを 偽(F) と書き、この値をその命題の真理値という。

「22は偶数である」は真の命題であり、「3>53 > 5」は偽の命題です。一方、「この問題は難しい」は、判断する人によって答えが分かれるので命題ではありません。真偽が一意に定まることが、命題であるための条件です。本単元は、これ以降、命題の真偽を真理値の計算として扱います。

1 真理値表は、起こりうる場合をすべて並べる

複合的な命題の真偽を確かめる道具として、次の表を使います。

定義 1.1 (真理値表). 命題を組み立てている部品の真偽について、起こりうる組み合わせをすべて並べ、それぞれの場合に全体の真偽がどうなるかを書き出した表を真理値表という。

部品がnn個であれば、真偽の組み合わせは2n2^n通りなので、表の行は2n2^n行になります。この表を埋めれば、起こりうる場合をもれなく調べたことになります。

たとえば、命題PPの否定「PPでない」(記号では¬P\lnot P)の真理値表は次のとおりです。

PP ¬P\lnot P
T F
F T

PPが真であれば¬P\lnot Pは偽であり、PPが偽であれば¬P\lnot Pは真です。否定は、真理値を入れ替える操作であると言うことができます。

2 「ならば」の真偽を定める規約

「ならば」で結んだ文の真偽は、次のように定めます。前件が偽である場合の扱いが要点です。

定義 2.1 (条件文). 二つの命題PP、QQを「PPならばQQ」と結んだ文を条件文といい、P⇒QP \Rightarrow Qと書く。PPを前件、QQを後件という。その真理値を次で定める。

PP QQ P⇒QP \Rightarrow Q
T T T
T F F
F T T
F F T

第2行だけが偽であり、残る3行はいずれも真です。とくに、前件PPが偽である第3行と第4行では、後件QQの真偽にかかわらずP⇒QP \Rightarrow Qを真と定めます。

この定め方は約束であって、証明することができる事実ではありません。ただし、P⇒QP \Rightarrow Qが何を主張しているのかを考えると、この約束を選ぶ理由が分かります。P⇒QP \Rightarrow Qは、「PPが真であるのにQQが偽である」という場合が起こらないことを主張しています。前件が偽である場合には、この主張が破られる余地がそもそもありません。破られていない以上、その場合は真としておく、というのがこの規約です。

この規約が必要になる場面を、具体例で確かめます。

例 2.2 (前件が偽の行を真と定める理由). 実数xxについての文「x>2x > 2ならばx>1x > 1」は、どの実数を代入しても成り立ってほしい文である。x=3x = 3では前件も後件も真なので第1行にあたり、真である。x=0x = 0では前件も後件も偽なので第4行にあたる。ここで第4行を偽と定めると、この文はx=0x = 0で偽になり、すべての実数について成り立つとは言えなくなる。

前件が偽である場合を真と定める規約は、こうした一般的な主張を扱うために必要です。

日常語の「ならば」は、前件と後件のあいだに因果関係や関連があることを含んで使われます。数学の条件文は、上の表が定める真理値だけを意味し、前件と後件に関連があることを要求しません。たとえば「1=21 = 2ならば地球は平らである」は、前件が偽なので、この規約のもとでは真の命題です。

3 表で考える理由

論理の問題を、正しそうだという直感によって判断すると、誤った結論に至ることがあります。真理値表は、起こりうる場合をもれなく機械的に調べるための道具です。複雑な命題であっても、部品に分解して表を埋めれば、真偽は必ず定まります。場合を尽くせば真偽の判定が計算になる、という点が、次の記事以降で扱う論理演算、条件と集合の対応、量化子の土台になります。

閑話休題:真偽の計算が、コンピュータを動かしている 真を11、偽を00とみなして機械的に計算する——本記事のこの発想は、比喩ではなく文字どおりコンピュータそのものです。真理値の演算(AND・OR・NOT)は、電気を通すか通さないかを切り替えるスイッチの回路へ、そのまま対応させることができます。19371937年、当時21歳のクロード・シャノンは修士論文で、ブール代数(1919世紀にジョージ・ブールが「思考の法則」として作った抽象的な論理の代数)によって電気回路のスイッチを設計することができることを示しました。後に「史上もっとも重要な修士論文」と呼ばれるこの仕事が、デジタル回路とコンピュータ設計の理論的な出発点になりました。

ブールが純粋な思考の産物として作り上げた論理の代数が、100100年後に電子回路のハードウェアとして実装されたということです。今日のCPUは、数十億個の論理ゲート(AND・OR・NOT の回路)が真理値表を高速に計算する装置であり、この文章を表示している画面も、その膨大な真偽計算の結果です。検索エンジンの AND 検索・OR 検索、データベースの条件指定、プログラムの if 文は、いずれも真理値を00と11で処理する営みの延長線上にあります。真か偽かを機械的に計算するという論理の第一歩が、情報化社会の土台を支えています。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

次の合成命題の真理値表を作り、真となる行が何行あるかを答えよ。

解法の型¬\neg は反転、∧\land は両方真のときだけ真、∨\lor は少なくとも一方が真なら真、⇒\Rightarrow は前件が真で後件が偽のときだけ偽

  1. 例題 1

    ¬(p∧q)∨(p⇒q)\lnot (p \land q) \lor (p \Rightarrow q)
  2. 例題 2

    p∧(r⇒q)p \land (r \Rightarrow q)
  3. 例題 3

    (¬r∨q)⇒p(\lnot r \lor q) \Rightarrow p
  4. 例題 4

    (p∧¬r)∨q(p \land \lnot r) \lor q
  5. 例題 5

    (¬r∧¬p)∨q(\lnot r \land \lnot p) \lor q
  6. 例題 6

    (¬p∧r)⇒q(\lnot p \land r) \Rightarrow q
  7. 例題 7

    q⇒(¬p∨¬r)q \Rightarrow (\lnot p \lor \lnot r)
  8. 例題 8

    (p∨¬r)⇒q(p \lor \lnot r) \Rightarrow q
  9. 例題 9

    q∧(¬r⇒¬p)q \land (\lnot r \Rightarrow \lnot p)
  10. 例題 10

    (¬q∨r)⇒p(\lnot q \lor r) \Rightarrow p

演習

問題を解いてから「解答・解説」を開けます。

次の合成命題の真理値表を作り、真となる行が何行あるかを答えよ。

演習を読み込み中…