真理値表は、ある命題について取りうる真偽値のすべての組み合わせを示し、それぞれの場合に最終結果が真か偽かを教えてくれます。AND、OR、NOT、XOR、含意を手早く理解したいなら、真理値表はたいてい最もわかりやすい出発点です。

このページで扱う主な演算子は、少数の明確なルールに従います。

  • pqp \land q は、両方が真のときだけ真です。
  • pqp \lor q は、少なくとも一方が真なら真です。
  • ¬p\lnot p は、pp の真偽値を反転します。
  • pqp \oplus q は、ちょうど一方だけが真のとき真です。
  • pqp \to q は、pp が真で qq が偽のときだけ偽です。

AND、OR、NOT、XOR、含意の真理値表

2つの命題 ppqq について、入力の組み合わせは TTTTTFTFFTFTFFFF の4通りあります。完全な真理値表には、この4つをすべて含める必要があります。

pp qq pqp \land q pqp \lor q pqp \oplus q pqp \to q ¬p\lnot p
T T T T F T F
T F F T T F F
F T F T T T T
F F F F F T T

真理値表を1つだけ覚えるなら、これを覚えておくとよいでしょう。初歩の論理の問題の多くは、これらの列のどれかを正しく読むことに帰着します。

各論理記号の意味

AND は「両方」

pqp \land q は、2つの入力がどちらも真のときだけ真です。

そのため、AND の列で真になる行はちょうど1つだけです。

OR は「少なくとも一方」

pqp \lor q は、一方が真のとき、または両方が真のときに真です。

これは OR の包含的な意味です。もし問題が「どちらか一方だが両方ではない」を求めているなら、代わりに XOR を使うべきです。

NOT は1つの命題を反転する

¬p\lnot p は、真を偽に、偽を真に変えます。

NOT はここにある他の演算子と違って、2つの命題ではなく1つの命題に作用します。

XOR は「ちょうど一方」

pqp \oplus q は、入力が異なるときに真です。

したがって、真になるのは中央の2行で、ppqq が一致する行は偽になります。

含意には偽になる場合が1つだけある

pqp \to q は、pp が真で qq が偽のときだけ偽です。

このルールは最初は少し不自然に感じるかもしれません。というのも、論理学での含意は、日常語の「原因になる」という意味ではないからです。これは「もし pp ならば qq」という主張が、pp は起きたのに qq は起きなかったときだけ成り立たない、という意味です。

例で確認: なぜ pqp \to q は1回だけ偽になるのか

pp を「その数は 4 で割り切れる」、qq を「その数は偶数である」とします。

次の命題を考えます。

pqp \to q

これは「もしある数が 44 で割り切れるなら、その数は偶数である」という意味です。

では、4つの論理的な場合を見てみましょう。

  • pp が真で qq も真なら、この命題は成り立ちます。
  • pp が真で qq が偽なら、この命題は成り立ちません。
  • pp が偽なら、命題論理ではこの含意は真とみなされます。なぜなら、その文は条件が起きなかった場合については何も約束していないからです。

だからこそ、pqp \to q で偽になる行はちょうど1つだけです。この例では、4 の倍数は必ず偶数なので、この主張は実際にはすべての実数について真です。

真理値表でよくある間違い

  • OR と XOR を混同すること。通常の OR には、両方の入力が真のケースも含まれます。
  • 含意を日常的な因果関係として読んでしまうこと。真理値表では、pqp \to q は原因と結果の物語ではなく、各行によって定義されます。
  • すべての入力の組み合わせを書き忘れること。2つの命題なら、行は4つ必要です。
  • NOT を2入力の演算子として扱ってしまうこと。NOT は1つの命題にだけ作用します。
  • 真理値表は哲学や証明だけのものだと思い込むこと。同じ論理はブール代数やデジタルシステムにも現れます。

真理値表はいつ使われるか

真理値表は、論理結合子を定義したり、2つの命題が同値かどうかを調べたり、論証の形式が妥当かを確認したり、計算機科学でブール式を読み取ったりするために使われます。

記号的なルールが抽象的に感じられるとき、真理値表は特に役立ちます。表にするとすべての場合が見えるので、見落としていた間違いにずっと気づきやすくなります。

似た真理値表を自分で作ってみる

次の式の表を作ってみましょう。

(pq)¬q(p \lor q) \land \lnot q

そのあと、最後の列を p¬qp \land \lnot q の列と比べてみてください。さらに別の例も試したければ、今度は pqp \oplus q でも同じ手順を行い、通常の OR とどう違うかを見てみましょう。

問題の解き方でお困りですか?

問題をアップロードすると、検証済みのステップバイステップ解答が数秒で届きます。

GPAI Solver を開く →