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

最終更新

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

1 定義は真理値表そのものである

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

定義 1.1 (論理積・論理和・否定). 命題PP、QQに対し、P∧QP \land Q(かつ)、P∨QP \lor Q(または)、¬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 ド・モルガン則を真理値表から導く

「かつ」「または」「否定」のあいだには計算規則が成り立ちます。とくに重要なものがド・モルガン則です。¬(P∧Q)\lnot(P \land Q)と¬P∨¬Q\lnot P \lor \lnot Qの真理値を、起こりうる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

第4列と第7列は、4行すべてで一致しています。したがって¬(P∧Q)\lnot(P \land Q)と¬P∨¬Q\lnot P \lor \lnot Qは、PPとQQの真偽がどうであっても同じ真理値をとります。この関係を同値と呼び、≡\equivで書きます。同じ手順で¬(P∨Q)\lnot(P \lor Q)と¬P∧¬Q\lnot P \land \lnot Qの表を作ると、こちらも4行すべてで一致します。

定理 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

証明. 上の表で、¬(P∧Q)\lnot(P \land Q)の列と¬P∨¬Q\lnot P \lor \lnot Qの列が4行すべてで一致します。第2式も同じ手順で表を作れば4行すべてで一致します。起こりうる場合を尽くしたので、どちらも同値です。▨

「かつ」の否定は「または」になり、「または」の否定は「かつ」になります。否定を内側へ移すと∧\landと∨\lorが入れ替わる、と読むことができます。否定を含む式を書き換えるときは、この2本の規則を繰り返し適用します。

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)

どちらも定義 1.1の真理値表から、8通りを書き出せば確かめることができます。真を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も順に組み立てることができます。1種類の演算だけで、あらゆる真理値の計算を表すことができるのです(19131913年にシェファーが示しました。「両方が真ではない」を表す NAND でも同じことができます)。

1種類の演算ですべてを表すことができるというこの事実は、理論上の遊びではありません。前の記事の閑話休題で見たとおり、論理演算は電子回路として実装することができますが、部品を1種類に統一することができれば、製造と検証のうえで大きな利点になります。実際、19601960年代のアポロ宇宙船の誘導コンピュータは、論理部分を NOR 回路を中心とした少数種の集積回路で組み上げました。信頼することができる少数の部品へ設計を絞るという判断です。人類を月へ運んだ計算機の中身は、↓\downarrowを組み合わせれば何でも書くことができるという、この単元の演習問題そのものでした。

例題

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

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

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

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

  1. 例題 1

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

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

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

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

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

    (q∧r)∨(q∧r∧p)(q \land r) \lor (q \land r \land p)
  7. 例題 7

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

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

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

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

演習

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

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

演習を読み込み中…

前提記事