Skip to main content
computer-sciencediscrete-mathlogicboolean-algebracalculator

真理値表計算機:NOT・AND・OR・含意をステップごとに評価する

·11 min read·Solvify Team

真理値表計算機は、pやqのような命題変数から構成される論理式を受け取り、それらの変数が取り得るすべての真(T)・偽(F)の組み合わせを列挙し、行ごとに論理式の値を評価します。命題論理はあらゆる論証を真か偽のいずれかである命題に還元し、NOT・AND・OR・含意(→)といった論理演算子が、それらの単純な命題を組み合わせてより複雑な式を作り出します。各変数は必ず2つの値しか取らないため、n個の変数を持つ論理式にはちょうど2ⁿ行が存在します。変数が2つなら4行、変数が3つなら8行という具合です。このガイドでは、基本的な演算子を手作業でひとつずつ確認し、含意と3変数式について真理値表計算機の例を作成し、さらにド・モルガンの法則を用いて、書き方の異なる2つの命題がブール代数において同値な命題であることを証明します。

真理値表計算機とは?

真理値表計算機とは、論理式に含まれる変数について考えられるすべての真偽の組み合わせを列挙し、それぞれの組み合わせに対する式の値を計算するツールです。同じ発想を真理値表ジェネレーターと呼ぶ人もいます。毎回手作業ですべての行を書き出す代わりに、行全体を自動的に生成してくれるからです。命題論理において、pやqのような変数は、真か偽のどちらか一方である命題(真でも偽でもある、あるいはどちらでもないということはない)を表し、論理演算子はそうした単純な構成要素から複合命題を組み立てることを可能にします。 真理値表が重要な理由は、教室での演習にとどまりません。コンピュータサイエンスを学ぶ学生は、デジタル論理回路の設計にこれを利用します。AND・OR・NOT・NAND・XORといった各論理ゲートは真理値表に直接対応しており、回路全体の振る舞いは、配線でつながれたすべてのゲートの真理値表の集合そのものです。ソフトウェアエンジニアも同じ表を使って、コード内の条件式やデータベースクエリのフィルタ、検索ロジックを簡略化します。というのも、入り組んだネストのif文は、単に簡略化されていないブール代数式であることが多いからです。哲学や数学の授業では、真理値表を使って、個々の主張が実世界で実際に真であるかどうかとは無関係に、ある論証が論理的に妥当かどうかを検証します。手作業で真理値表を組み立てられるようになれば、計算機は理解の代わりになるものではなく、自分の作業を再確認するための手段になります。

真理値表とは、論理式に対して考えられるすべての入力の組み合わせと、それぞれの組み合わせが生み出す出力を対にしたものにすぎません。

基本的な論理演算子NOT・AND・ORはどのように働くのか?

含意や多変数の式に取り組む前に、まず最も単純な3つの論理演算子をしっかり押さえておくと役立ちます。どんなに複雑な命題も、実際にはNOT・AND・ORをさまざまな形で組み合わせ、入れ子にしたものにすぎないからです。

1. ¬p(否定)

NOTは命題の真偽値を単純に反転させるだけです。 p | ¬p 真 | 偽 偽 | 真 pが「空は青い」であり、pが真であるとき、¬p——「空は青くない」——は偽になります。否定は、ここで扱う演算子の中で唯一、2つを組み合わせるのではなく単一の変数に対して働くものです。

2. p かつ q(連言)

ANDは、両方の命題が真であるときにのみ真になります。 p | q | p かつ q 真 | 真 | 真 真 | 偽 | 偽 偽 | 真 | 偽 偽 | 偽 | 偽 考えられる4行のうち、命題全体が真になるのはpとqがともに真である1行だけです。これは基本的な論理演算子の中で最も厳格なもので、入力が1つでも偽であれば、連言全体が偽になってしまいます。

3. p または q(選言)

ORは、少なくとも一方の命題が真であれば真になります。 p | q | p または q 真 | 真 | 真 真 | 偽 | 真 偽 | 真 | 真 偽 | 偽 | 偽 選言が偽になるのは、pとqがともに偽である行だけです。これは命題論理やブール代数全体で使われる包括的OR(inclusive OR)であり、日常会話の「どちらか一方」というニュアンスとは異なり、両方の命題が真である場合でも真として扱われます。

NOTは単一の値を反転させ、ANDはすべてが真である必要があり、ORはすべてが偽であるときにのみ成立しません。

真理値表計算機は含意(p → q)をどのように評価するのか?

含意はp → qと書かれ、「pならばq」と読みます。日常会話における「もし…ならば」という表現の感覚と一致しないため、人々を最も混乱させる論理演算子です。真理値表計算機はただ1つのルールでこれを評価します。p → qが偽になるのは、pが真でqが偽であるという、ただ1つの状況においてのみであり、それ以外のすべての場合では真になります。

1. ステップ1 — pとqのすべての組み合わせを列挙する

変数が2つの場合、2² = 4行になります。真真、真偽、偽真、偽偽です。

2. ステップ2 — 各行に含意のルールを適用する

p | q | p → q 真 | 真 | 真 真 | 偽 | 偽 偽 | 真 | 真 偽 | 偽 | 真 偽になるのは真・偽の行だけです——pはqを約束したのに、qが起こらなかったということです。

3. ステップ3 — 「意外に感じる」2つの真の行を解釈する

pが偽である場合(偽真・偽偽の行)、qの値にかかわらず含意は真になります。前提が偽であれば、その命題は「空虚な真」となるからです——そもそも交わしていない約束を破ることはできません。これは含意の真理値表の中で最も直感に反する部分ですが、命題論理においては欠かせない要素です。

4. ステップ4 — 現実の例で妥当性を確認する

「雨が降れば、地面は濡れる」という命題を考えます。雨が降らなければ(pが偽であれば)、地面の状態がどうであってもこの命題は矛盾しません——これこそが、偽真・偽偽の行がともに真になる理由です。

p → qが偽になるのはただ1行、pが真でqが偽の場合のみです。それ以外のすべての組み合わせでは含意は真になります。

(p ∧ q) → r の真理値表はどのようなものか?

3つ目の変数を追加すると、行数は2³ = 8に増えます。(p ∧ q) → rという式は「pとqがともに真であれば、rは真である」と読み、この真理値表を作るには、rに対して含意のルールを適用する前に、中間列であるp ∧ qを計算する必要があります。

1. ステップ1 — p、q、rの8通りの組み合わせをすべて列挙する

変数が3つの場合、行の抜けや重複が起きないよう、決まった順序ですべての組み合わせを巡回させます。真真真、真真偽、真偽真、真偽偽、偽真真、偽真偽、偽偽真、偽偽偽です。

2. ステップ2 — 中間列p ∧ qを計算する

p ∧ qは、pとqがともに真である2行(真真真と真真偽)でのみ真になり、残りの6行では偽になります。

3. ステップ3 — (p ∧ q) とrの間に含意を適用する

p | q | r | p∧q | (p∧q)→r 真 | 真 | 真 | 真 | 真 真 | 真 | 偽 | 真 | 偽 真 | 偽 | 真 | 偽 | 真 真 | 偽 | 偽 | 偽 | 真 偽 | 真 | 真 | 偽 | 真 偽 | 真 | 偽 | 偽 | 真 偽 | 偽 | 真 | 偽 | 真 偽 | 偽 | 偽 | 偽 | 真

4. ステップ4 — 結果を解釈する

偽になるのは真真偽の行だけです。pとqはともに真ですが、rが偽である——前件(p ∧ q)は成り立つのに後件が成り立たない唯一のケースです。それ以外のすべての行は真になります。rが真であるか、あるいはp ∧ qがすでに偽であるために含意が空虚な真となるかのいずれかです。

(p ∧ q) → rの考えられる8行のうち、命題全体が偽になるのは1行だけです。pとqが真で、rが偽の場合です。

真理値表計算機を使って同値な命題を証明するにはどうすればよいか?

2つの命題が論理的に同値な命題であるとは、それぞれの真理値表がすべての行で同一の出力列を生み出すことを意味します——いくつかの例だけでなく、考えられるすべての入力の組み合わせについてです。これはまさに、ブール代数において最も有用な結果の1つであるド・モルガンの法則——¬(p ∧ q)は¬p ∨ ¬qと同値である——を証明するために、真理値表計算機を使う方法そのものです。

1. ステップ1 — p ∧ qとその否定の列を作る

p | q | p∧q | ¬(p∧q) 真 | 真 | 真 | 偽 真 | 偽 | 偽 | 真 偽 | 真 | 偽 | 真 偽 | 偽 | 偽 | 真

2. ステップ2 — ¬p、¬q、およびその選言の列を作る

p | q | ¬p | ¬q | ¬p∨¬q 真 | 真 | 偽 | 偽 | 偽 真 | 偽 | 偽 | 真 | 真 偽 | 真 | 真 | 偽 | 真 偽 | 偽 | 真 | 真 | 真

3. ステップ3 — 2つの出力列を比較する

¬(p∧q):偽, 真, 真, 真 ¬p∨¬q:偽, 真, 真, 真 2つの列はすべての行で一致しており、これが論理的同値の定義です——両方の命題は、同じことを表す2通りの異なる書き方にすぎません。

4. ステップ4 — このパターンを一般化する

ド・モルガンの第二法則も同じように働きます。¬(p ∨ q)は¬p ∧ ¬qと同値です。両方の法則において、式全体を否定すると演算子が反転し(ANDはORに、ORはANDになる)、否定が各変数に分配されます——このルールは、コードやデジタル論理設計においてブール代数の式を簡略化する際に絶えず登場します。

2つの真理値表がすべての行で同じ出力列を生み出すとき、それらの命題は書き方がどれほど違って見えても、同値な命題です。

真理値表を手作業で作る際に避けるべきミスとは?

誤った真理値表の多くは、論理演算子そのものへの理解不足からではなく、いくつかの予測可能なうっかりミスから生じます。あらかじめこれらを知っておくことで、後からの再確認の手間を大幅に減らせます。

1. 行の抜けや重複

n個の変数がある場合、必ずちょうど2ⁿ行が存在し、一貫した順序(2進数を数えるように:真真真、真真偽、真偽真…)で巡回させる必要があります。行が抜けたり重複したりすると、その表は実際にはすべてのケースを網羅していないことになり、それを使った同値性のチェックが崩れてしまいます。

2. 含意を「かつ」と誤読する

p → qはp ∧ qと同じではありません。含意が偽になるのはただ1行(pが真、qが偽)だけですが、連言は3行で偽になります。この2つを混同することは、命題論理における真理値表の最もよくある間違いです。

3. 演算子の優先順位を忘れる

(p ∧ q) → rでは、括弧が重要です——∧は→より先に評価されなければなりません。括弧がなければ、p ∧ (q → r)はまったく別の命題となり、真理値表も異なるものになります。

4. ド・モルガンの法則を中途半端に適用する

¬(p ∧ q)を¬p ∧ ¬qに否定する——ANDをORに反転させるのを忘れる——と、元の命題と同値ではない命題ができてしまいます。演算子と各変数の両方を、同時に否定しなければなりません。

真理値表のほぼすべての誤りは、行の見落とし、演算子の取り違え、あるいは不完全な否定によるものであり、論理そのものに欠陥があるわけではありません。

ブール代数の作業をどのように確認すればよいか?

手作業で作った真理値表を信頼する前に、他の多段階の計算を再確認するのと同じように、いくつかの簡単なチェックを行いましょう。

1. 行数を数え直す

n個の変数を持つ命題には、ちょうど2ⁿ行あるはずです。変数が2つなら4行、変数が3つなら8行です。行数が合わなければ、どこかの行が抜けたか重複しています。

2. 偽になる行をルールと照らし合わせて抜き取り確認する

含意の場合、偽になるべきなのはp真・q偽の行だけです。連言の場合、真になるべきなのはすべてが真の行だけです。ある行の結果が演算子の定義ルールと一致しない場合は、その行を個別に確認し直してください。

3. 1行だけでなく列全体で同値性を確認する

4行中3行が一致しているだけの2つの式は同値ではありません——すべての行が一致していなければなりません。手作業でのチェックに不安がある場合は、真理値表ジェネレーターや計算機を使って、列全体を一度に検証しましょう。

行数を数え、定義ルールを偽になるケースと照らし合わせ、すべての行が一致するまでは2つの命題を同値だと言い切らないようにしましょう。

Solvifyの真理値表計算機で自分の論理を検証しよう

NOT・AND・OR・含意が行ごとにどのように振る舞うかを理解してしまえば、真理値表計算機は自分の推論を回避する近道ではなく、それを検証するための手段になります。Solvifyのステップバイステップソルバーは、論理式の各行を個別に組み立て、含意を適用する前のp ∧ qのような中間列も表示します。そのため、自分で手作業で作った表と比較して、行の見落とし、演算子の適用ミス、あるいは中途半端なド・モルガンの法則の適用など、間違いがどこで起きたのかを正確に見つけることができます。 まず自分の手で真理値表を作り、計算機は最終的な列を確認するためだけに使うようにすると、命題論理やブール代数の授業で身につく、しっかりと定着する熟練度が養われます。含意には偽になる行がちょうど1つしかないこと、3変数の命題には8行が必要であること、そして2つの式は計算機が確認してくれるよりも先に、すべての行が一致してはじめて同値な命題と言えることを、一目で見抜けるようになるのです。

真理値表計算機の目的は、自分の推論を置き換えることではなく確認することであるべきです——まず自分の手で表を作り、それから確かめましょう。
タグ:
computer-sciencediscrete-mathlogicboolean-algebracalculator

関連記事

関連する数学ソルバー

📝

ステップバイステップの解答

最終的な答えだけでなく、真理値表のすべての行と中間列が導き出される過程を確認できます。

🎓

AI数学チューター

含意やド・モルガンの法則、その他あらゆる論理演算子について、理解できるまで追加の質問をすることができます。

🏋️

練習モード

真理値表やブール代数の追加問題に取り組み、スピードと正確さを鍛えましょう。

関連科目

今すぐ宿題ヘルプを入手

数百万人の学生が利用するAI数学ソルバーに参加しましょう。数学の問題の即時解決、ステップバイステップの説明、24時間365日の宿題サポートを受けられます。

iOSおよびAndroidデバイスで利用可能