§A3.2かつ・または・否定

最終更新

「かつ」「または」「でない」は、命題から新しい命題を組み立てる演算です。本記事では、これらの演算を、数における++や×\timesと同じように、真理値から真理値を機械的に定める計算として扱います。

1 論理演算の真理値表

三つの演算は、真理値表によって完全に定まります。

定義 1.1 (論理積・論理和・否定). 命題PP、QQに対し、論理積 (conjunction)P∧QP \land Q(かつ)、論理和 (disjunction)P∨QP \lor Q(または)、否定 (negation)¬P\lnot P(でない)の真理値を次で定める。

PP QQ P∧QP \land Q P∨QP \lor Q ¬P\lnot P
T T T T F
T F F T F
F T F T T
F F F F T
  • かつ(∧\land) は、PPとQQの両方が真である場合にかぎり真になります。
  • または(∨\lor) は、PPとQQの少なくとも一方が真であれば真になります。
  • 否定(¬\lnot) は、真理値を入れ替えます。

日常語の「または」は、「コーヒーまたは紅茶をお選びください」のように、どちらか一方だけを選ぶという意味で使われることがあります。数学の「または」に、その意味はありません。両方が成り立つ場合を含めるかどうかで結論が変わる場面では、「少なくとも一方」「ちょうど一方」のように、文章で範囲を明示します。

2 ド・モルガン則

二つの論理式が、含まれる命題の真偽の組合せのすべてについて同じ真理値をとるとき、二つの論理式は同値であるといい、≡\equivで結びます。

定理 2.1 (ド・モルガン則). 任意の命題PP、QQについて、次の二つが成り立つ。¬(P∧Q)≡¬P∨¬Q,¬(P∨Q)≡¬P∧¬Q\lnot(P \land Q) \equiv \lnot P \lor \lnot Q, \qquad \lnot(P \lor Q) \equiv \lnot P \land \lnot Q

証明.PP、QQの真偽の4通りの組合せについて、各式の真理値は次のようになる。

PP QQ P∧QP \land Q ¬(P∧Q)\lnot(P \land Q) ¬P\lnot P ¬Q\lnot Q ¬P∨¬Q\lnot P \lor \lnot Q
T T T F F F F
T F F T F T T
F T F T T F T
F F F T T T T

¬(P∧Q)\lnot(P \land Q)と¬P∨¬Q\lnot P \lor \lnot Qの列は、すべての行で一致する。

PP QQ P∨QP \lor Q ¬(P∨Q)\lnot(P \lor Q) ¬P\lnot P ¬Q\lnot Q ¬P∧¬Q\lnot P \land \lnot Q
T T T F F F F
T F T F F T F
F T T F T F F
F F F T T T T

¬(P∨Q)\lnot(P \lor Q)と¬P∧¬Q\lnot P \land \lnot Qの列も、すべての行で一致する。二つの表はPP、QQの真偽の組合せを尽くしているので、二式とも成り立つ。▨

複合命題全体の否定を各命題の否定へ書き換えるとき、「かつ」と「または」が入れ替わります。

3 分配法則とブール代数

∧\landを掛け算、∨\lorを足し算に対応させると、数の計算と同じ形の規則が成り立ちます。

公式 3.1 (分配法則).

P∧(Q∨R)≡(P∧Q)∨(P∧R),P∨(Q∧R)≡(P∨Q)∧(P∨R)P \land (Q \lor R) \equiv (P \land Q) \lor (P \land R), \qquad P \lor (Q \land R) \equiv (P \lor Q) \land (P \lor R)

どちらの分配法則も、PP、QQ、RRの真偽の8通りの組合せについて、定義 1.1の真理値表から両辺の真理値を書き出せば確かめることができます。真を11、偽を00とみなして真理値を計算する体系をブール代数と呼びます。

閑話休題:1種類の演算による論理演算の構成 「かつ」「または」「でない」の3種類すべてを、基本の演算として置く必要はありません。ド・モルガン則によってP∨Q≡¬(¬P∧¬Q)P \lor Q \equiv \lnot(\lnot P \land \lnot Q)が成り立つので、「または」は「かつ」と「でない」から組み立てることができます。したがって、基本の演算は「かつ」と「でない」の2種類で足ります。さらに、1種類の演算でも足ります。「どちらも真ではない」を表す演算(NOR。P↓Q≡¬(P∨Q)P \downarrow Q \equiv \lnot(P \lor Q))を考えると、P↓P≡¬PP \downarrow P \equiv \lnot Pとなるので否定を作ることができ、否定を作ることができれば、∧\landも∨\lorも順に組み立てることができます。NOR という1種類の演算だけで、あらゆる真理値の計算を表すことができます(この事実は19131913年にシェファーが示しました。「両方が真ではない」を表す NAND でも同じことができます)。

1種類の演算であらゆる真理値の計算を表すことができるという事実は、回路の設計に用いられています。前の記事の閑話休題で見たとおり、論理演算は電子回路として実装することができます。回路の部品を1種類に統一することができれば、製造と検証のうえで大きな利点があります。実際、19601960年代のアポロ宇宙船の誘導コンピュータの論理部分は、NOR 回路を中心とした少数種の集積回路で組み上げられていました。設計者は、信頼することができる少数の部品へ設計を絞りました。

4 例題

レベル1 — 論理式の簡約(ブール代数)

次の論理式を、ド・モルガン則・分配則・吸収則を使ってできるだけ簡単な形に簡約せよ。

解法の型否定は内側へ押し込む(∧\landと∨\lorが入れ替わる)/共通因数をくくり出す/p∨\lor¬p\neg pは真、p∧\land¬p\neg pは偽

次の論理式をできるだけ簡単な形に簡約せよ。

例 4.1.

(q∧p)∨(¬q∧p)(q \land p) \lor (\lnot q \land p)

答pp

注意 分配則で p をくくり出すと p∧\land(q∨¬q)\lor \neg q)。括弧の中は常に真なので、全体は p と同値。

例 4.2.

p∨(¬p∧r)p \lor (\lnot p \land r)

答p∨rp \lor r

注意 分配則で (p∨¬p)∧\lor \neg p) \land(p∨\lorr)。前半は常に真なので p∨\lorr。

例 4.3.

q∨(¬q∧p)q \lor (\lnot q \land p)

答q∨pq \lor p

注意 分配則で (q∨¬q)∧\lor \neg q) \land(q∨\lorp)。前半は常に真なので q∨\lorp。

例 4.4.

p∧(p∨r)p \land (p \lor r)

答pp

注意 吸収則(∧\landと∨\lorを入れ替えた双対形)。p が偽なら全体は偽、p が真なら p∨\lorr も真で全体は真。よって p と同値。

例 4.5.

(q∧r)∨(q∧¬r)(q \land r) \lor (q \land \lnot r)

答qq

注意 分配則で q をくくり出すと q∧\land(r∨¬r)\lor \neg r)。r∨¬r\lor \neg rは常に真なので、全体は q と同値。

例 4.6.

(q∧r)∨(q∧r∧p)(q \land r) \lor (q \land r \land p)

答q∧rq \land r

注意 X==q∧\landr とおくと X∨\lor(X∧\landp) で、吸収則により X。すなわち q∧\landr。

例 4.7.

p∧(¬p∨r)p \land (\lnot p \lor r)

答p∧rp \land r

注意 分配則で (p∧¬p)∨\land \neg p) \lor(p∧\landr)。前半は常に偽なので p∧\landr。

例 4.8.

(r∧p)∨(¬r∧p)(r \land p) \lor (\lnot r \land p)

答pp

注意 分配則で p をくくり出すと p∧\land(r∨¬r)\lor \neg r)。括弧の中は常に真なので、全体は p と同値。

例 4.9.

(r∨q)∧(r∨¬q)∧p(r \lor q) \land (r \lor \lnot q) \land p

答r∧pr \land p

注意 前2項は分配則で r∨\lor(q∧¬q)=\land \neg q) =r。残りと合わせて r∧\landp。

例 4.10.

¬(p∧¬q)\lnot(p \land \lnot q)

答¬p∨q\lnot p \lor q

注意 ド・モルガン則で¬p∨¬(¬q)\neg p \lor \neg(\neg q)、二重否定を外して¬p∨\neg p \lorq。(これは p⇒\Rightarrowq と同値な形でもある。)

5 演習

レベル1 — 論理式の簡約(ブール代数)

次の論理式を、ド・モルガン則・分配則・吸収則を使ってできるだけ簡単な形に簡約せよ。

解法の型否定は内側へ押し込む(∧\landと∨\lorが入れ替わる)/共通因数をくくり出す/p∨\lor¬p\neg pは真、p∧\land¬p\neg pは偽

次の論理式をできるだけ簡単な形に簡約せよ。

問題 5.1.

¬(r∨(p∧¬r))\lnot\bigl(r \lor (p \land \lnot r)\bigr)
解答.

答¬r∧¬p\lnot r \land \lnot p

注意 まず内側を簡約: r∨(¬r∧\lor (\neg r \landp)==r∨\lorp。これを否定してド・モルガン則で¬r∧¬p\neg r \land \neg p。▨

問題 5.2.

¬(¬r∨p)\lnot(\lnot r \lor p)
解答.

答r∧¬pr \land \lnot p

注意 ド・モルガン則で否定を内側に押し込むと¬(¬r)∧¬p\neg(\neg r) \land \neg p。二重否定¬(¬r)=\neg(\neg r) =r を使って r∧¬p\land \neg p。▨

問題 5.3.

(r∨q)∧(r∨¬q)(r \lor q) \land (r \lor \lnot q)
解答.

答rr

注意 分配則(∨\lor側)で r をくくり出すと r∨\lor(q∧¬q)\land \neg q)。q∧¬q\land \neg qは常に偽なので、全体は r と同値。▨

問題 5.4.

¬(p∨q)∨(¬p∧q)\lnot(p \lor q) \lor (\lnot p \land q)
解答.

答¬p\lnot p

注意 ド・モルガン則で第1項は¬p∧¬q\neg p \land \neg q。すると(¬p∧¬q)∨(¬p∧(\neg p \land \neg q) \lor (\neg p \landq)=¬p∧(¬q∨= \neg p \land (\neg q \lorq)=¬p= \neg p。▨

問題 5.5.

¬(¬q∨r)\lnot(\lnot q \lor r)
解答.

答q∧¬rq \land \lnot r

注意 ド・モルガン則で否定を内側に押し込むと¬(¬q)∧¬r\neg(\neg q) \land \neg r。二重否定¬(¬q)=\neg(\neg q) =q を使って q∧¬r\land \neg r。▨

問題 5.6.

(q∨p)∧(q∨¬p)∧r(q \lor p) \land (q \lor \lnot p) \land r
解答.

答q∧rq \land r

注意 前2項は分配則で q∨\lor(p∧¬p)=\land \neg p) =q。残りと合わせて q∧\landr。▨

問題 5.7.

(q∧p)∨(q∧p∧r)(q \land p) \lor (q \land p \land r)
解答.

答q∧pq \land p

注意 X==q∧\landp とおくと X∨\lor(X∧\landr) で、吸収則により X。すなわち q∧\landp。▨

問題 5.8.

(p∧r)∨(p∧¬r)(p \land r) \lor (p \land \lnot r)
解答.

答pp

注意 分配則で p をくくり出すと p∧\land(r∨¬r)\lor \neg r)。r∨¬r\lor \neg rは常に真なので、全体は p と同値。▨

問題 5.9.

¬(p∧¬r)\lnot(p \land \lnot r)
解答.

答¬p∨r\lnot p \lor r

注意 ド・モルガン則で¬p∨¬(¬r)\neg p \lor \neg(\neg r)、二重否定を外して¬p∨\neg p \lorr。(これは p⇒\Rightarrowr と同値な形でもある。)▨

問題 5.10.

(q∨p)∧(q∨¬p)(q \lor p) \land (q \lor \lnot p)
解答.

答qq

注意 分配則(∨\lor側)で q をくくり出すと q∨\lor(p∧¬p)\land \neg p)。p∧¬p\land \neg pは常に偽なので、全体は q と同値。▨

問題 5.11.

q∨(q∧p)q \lor (q \land p)
解答.

答qq

注意 吸収則。q が真なら全体は真、q が偽なら q∧\landp も偽で全体は偽。結局この式の真偽は q だけで決まる。▨

問題 5.12.

p∧(¬p∨r)p \land (\lnot p \lor r)
解答.

答p∧rp \land r

注意 分配則で (p∧¬p)∨\land \neg p) \lor(p∧\landr)。前半は常に偽なので p∧\landr。▨

問題 5.13.

¬(q∧¬r)\lnot(q \land \lnot r)
解答.

答¬q∨r\lnot q \lor r

注意 ド・モルガン則で¬q∨¬(¬r)\neg q \lor \neg(\neg r)、二重否定を外して¬q∨\neg q \lorr。(これは q⇒\Rightarrowr と同値な形でもある。)▨

問題 5.14.

r∧(r∨q)r \land (r \lor q)
解答.

答rr

注意 吸収則(∧\landと∨\lorを入れ替えた双対形)。r が偽なら全体は偽、r が真なら r∨\lorq も真で全体は真。よって r と同値。▨

問題 5.15.

¬(p∧q)∧p\lnot(p \land q) \land p
解答.

答p∧¬qp \land \lnot q

注意 ド・モルガン則で(¬p∨¬q)∧(\neg p \lor \neg q) \landp。分配則で(¬p∧(\neg p \landp)∨(¬q∧\lor (\neg q \landp)。前半は常に偽なので p∧¬q\land \neg q。▨

前提記事