1 命題と真理値表
定義 1.1 (命題と真理値). 真か偽かのいずれか一方に定まる主張を命題 (proposition) という。命題が真であることを 真(T)、偽であることを 偽(F) と書き、この値をその命題の真理値という。
「2は偶数である」は真の命題であり、「3>5」は偽の命題です。一方、「この問題は難しい」は、判断する人によって答えが分かれるので命題ではありません。真偽が一意に定まることが、命題であるための条件です。本単元では、これ以降、命題の真偽を真理値の計算として扱います。
複合的な命題の真偽を確かめるために、次に定める表を用います。
定義 1.2 (真理値表). 命題P1,…,Pnのそれぞれに真または偽を割り当て、2n通りの組合せのすべてについて、それらの命題から組み立てた命題の真理値を書き出した表を真理値表 (truth table) という。
P1,…,Pnに具体的な命題を当てはめたときには、それらの命題の間の関係によって、実際には生じない真偽の組合せもあります。真理値表では、そのような組合せも含めて真偽の割当てをすべて並べます。
たとえば、命題Pの否定「Pでない」(記号では¬P)の真理値表は次のとおりです。
Pが真であれば¬Pは偽であり、Pが偽であれば¬Pは真です。否定は、真理値を入れ替える操作であると言うことができます。
2 「ならば」の真偽を定める規約
「ならば」で結んだ文の真偽は、次のように定めます。前件が偽である場合の扱いが要点です。
定義 2.1 (条件文). 二つの命題P、Qを「PならばQ」と結んだ文を条件文 (conditional statement) といい、P⇒Qと書く。Pを前件、Qを後件という。その真理値を次で定める。
| P |
Q |
P⇒Q |
| T |
T |
T |
| T |
F |
F |
| F |
T |
T |
| F |
F |
T |
第2行だけが偽であり、残る3行はいずれも真です。とくに、前件Pが偽である第3行と第4行では、後件Qの真偽にかかわらずP⇒Qを真と定めます。
この定め方は約束であって、証明することができる事実ではありません。ただし、P⇒Qが何を主張しているのかを考えると、この約束を選ぶ理由が分かります。P⇒Qは、「Pが真であるのにQが偽である」という場合が起こらないことを主張しています。前件が偽である場合には、この主張が破られる余地がそもそもありません。破られていない以上、その場合は真としておく、というのがこの規約です。
条件文の規約を、実数の不等式に適用します。
例 2.2. 実数xについて、Pを「x>2」、Qを「x>1」とする。xの値に応じて、P、Q、P⇒Qの真理値は次のようになる。
| xの範囲 |
P |
Q |
P⇒Q |
| x>2 |
T |
T |
T |
| 1<x≤2 |
F |
T |
T |
| x≤1 |
F |
F |
T |
たとえばx=3では前件も後件も真であり、x=0では前件も後件も偽である。x>2ならばx>1であるため、前件が真で後件が偽という組合せは生じない。したがって、「x>2ならばx>1」は、どの実数xに対しても真である。前件が偽である二つの組合せのいずれかを偽と定めると、この文はすべての実数について真ではなくなる。
「x>2ならばx>1」のように、すべての実数について成り立つ主張を扱うために、前件が偽である場合を真と定める規約が必要です。
日常語の「ならば」は、前件と後件のあいだに因果関係や関連があることを含んで使われます。数学の条件文では、上の表により定まる真理値だけが意味され、前件と後件に関連があることは要求されません。たとえば「1=2ならば地球は平らである」は、前件が偽なので、この規約のもとでは真の命題です。
閑話休題:真理値と論理回路 真を1、偽を0とみなして機械的に計算するという本記事の発想は、コンピュータの論理回路の設計に用いられています。真理値の演算(AND・OR・NOT)は、電気を通すか通さないかを切り替えるスイッチの回路へ、そのまま対応させることができます。1937年、当時21歳のクロード・シャノンは修士論文で、ブール代数(19世紀にジョージ・ブールが「思考の法則」として作った抽象的な論理の代数)によって電気回路のスイッチを設計することができることを示しました。後に「史上もっとも重要な修士論文」と呼ばれるこの仕事が、デジタル回路とコンピュータ設計の理論的な出発点になりました。
ブールが思考の法則として作り上げた論理の代数は、シャノンの仕事によって電子回路の設計に用いられることになりました。今日の CPU では、数十億個の論理ゲート(AND・OR・NOT の回路)が真理値の演算を高速に実行しています。検索エンジンの AND 検索・OR 検索、データベースの条件指定、プログラムの if 文でも、条件の真偽を同じ演算で組み合わせています。
3 例題
次の合成命題の真理値表を作り、真となる行が何行あるかを答えよ。
解法の型¬は反転、∧は両方真のときだけ真、∨は少なくとも一方が真なら真、⇒は前件が真で後件が偽のときだけ偽
例 3.1.
¬(p∧q)∨(p⇒q)答
pTTFFqTFTF¬(p∧q)∨(p⇒q)TTTT真となる行: 4 行注意 部品の真偽の組み合わせ 4 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 4 行のうち真となるのは 4 行。
例 3.2.
p∧(r⇒q)答
pTTTTFFFFqTTFFTTFFrTFTFTFTFp∧(r⇒q)TTFTFFFF真となる行: 3 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 3 行。
例 3.3.
(¬r∨q)⇒p答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬r∨q)⇒pTTTTFFTF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。
例 3.4.
(p∧¬r)∨q答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(p∧¬r)∨qTTFTTTFF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。
例 3.5.
(¬r∧¬p)∨q答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬r∧¬p)∨qTTFFTTFT真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。
例 3.6.
(¬p∧r)⇒q答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬p∧r)⇒qTTTTTTFT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。
例 3.7.
q⇒(¬p∨¬r)答
pTTTTFFFFqTTFFTTFFrTFTFTFTFq⇒(¬p∨¬r)FTTTTTTT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。
例 3.8.
(p∨¬r)⇒q答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(p∨¬r)⇒qTTFFTTTF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。
例 3.9.
q∧(¬r⇒¬p)答
pTTTTFFFFqTTFFTTFFrTFTFTFTFq∧(¬r⇒¬p)TFFFTTFF真となる行: 3 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 3 行。
例 3.10.
(¬q∨r)⇒p答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬q∨r)⇒pTTTTFTFF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。
4 演習
次の合成命題の真理値表を作り、真となる行が何行あるかを答えよ。
解法の型¬は反転、∧は両方真のときだけ真、∨は少なくとも一方が真なら真、⇒は前件が真で後件が偽のときだけ偽
問題 4.1.
(r∨¬q)∧¬p解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(r∨¬q)∧¬pFFFFTFTT真となる行: 3 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 3 行。▨
問題 4.2.
(¬q∨r)⇒¬p解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬q∨r)⇒¬pFTFFTTTT真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。▨
問題 4.3.
¬q⇒(p∨¬r)解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF¬q⇒(p∨¬r)TTTTTTFT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。▨
問題 4.4.
¬(p∧q)∨(p⇒q)解答.
答
pTTFFqTFTF¬(p∧q)∨(p⇒q)TTTT真となる行: 4 行注意 部品の真偽の組み合わせ 4 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 4 行のうち真となるのは 4 行。▨
問題 4.5.
(¬q∨p)⇒r解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬q∨p)⇒rTFTFTTTF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。▨
問題 4.6.
(q∧p)∨r解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(q∧p)∨rTTTFTFTF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。▨
問題 4.7.
(p∨q)∧¬(p∧q)解答.
答
pTTFFqTFTF(p∨q)∧¬(p∧q)FTTF真となる行: 2 行注意 部品の真偽の組み合わせ 4 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 4 行のうち真となるのは 2 行。▨
問題 4.8.
q⇒(r∨¬p)解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTFq⇒(r∨¬p)TFTTTTTT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。▨
問題 4.9.
(r∧¬q)⇒p解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(r∧¬q)⇒pTTTTTTFT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。▨
問題 4.10.
q⇒(¬p∨r)解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTFq⇒(¬p∨r)TFTTTTTT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。▨
問題 4.11.
q⇒(¬p∨¬r)解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTFq⇒(¬p∨¬r)FTTTTTTT真となる行: 7 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 7 行。▨
問題 4.12.
(¬q∧p)∨r解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬q∧p)∨rTFTTTFTF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。▨
問題 4.13.
(¬p∨r)∧q解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(¬p∨r)∧qTFFFTTFF真となる行: 3 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 3 行。▨
問題 4.14.
¬p∧(¬r⇒q)解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF¬p∧(¬r⇒q)FFFFTTTF真となる行: 3 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 3 行。▨
問題 4.15.
(q∧¬r)∨p解答.
答
pTTTTFFFFqTTFFTTFFrTFTFTFTF(q∧¬r)∨pTTTTFTFF真となる行: 5 行注意 部品の真偽の組み合わせ 8 通りをすべて並べ、各行を内側の括弧から順に機械的に計算する。⇒は前件が真で後件が偽のときだけ偽、それ以外は真であることに注意(前件が偽なら後件によらず真)。全 8 行のうち真となるのは 5 行。▨