論理式の同値判定ツール

複数の論理式を入力して、すべて同じ動作をするか判定するWebツールです。 すべての入力パターンで出力が一致すれば「同値」、一致しない行があれば「同値ではない」と判定し、反例を表示します。

解釈した式
1
$$\overline{A} \cdot B + A \cdot \overline{B}$$
2
$$A \oplus B$$

判定結果

これらの論理式は同値です。 すべての入力パターンで、すべての式の出力が一致しました。

入力出力
AB12
0000
0111
1011
1100

要望やバグ報告はお問い合わせフォームからどうぞ。

使い方

式1、式2、必要なら追加した式に論理式を入力して「同値判定する」を押すと、それらの式が同じ動作をするか判定します。 すべての入力パターンで出力が一致すれば同値、一致しない行があれば同値ではないと判定します。

たとえば ~A * B + A * ~BA ^ B は、どちらも A と B の値が異なるときに 1 になる式です。 このツールでは、このような論理式の答え合わせを真理値表で確認できます。

同値判定とは

複数の論理式が同値であるとは、どの入力パターンでも出力が一致することです。 式の見た目が違っていても、真理値表の出力がすべて同じなら同値です。

真理値表を使った判定方法

このツールでは、入力されたすべての式に含まれる変数の和集合を使って入力パターンを作ります。 ある式にだけ出てくる変数がある場合も、その変数を含めて比較します。

変数数が増えると行数は 2^n で増えるため、プロトタイプでは8変数までを対象にしています。

同値でない場合は反例を表示

同値でない場合は、式どうしの出力が異なる入力パターンを反例として表示します。 どの変数の組み合わせで答えがずれるのかを確認できます。

対応している論理演算子

AND、OR、NOT、XOR の基本的な論理演算に対応しています。 授業や教科書によって使われる記号が違うため、よく使われる複数の表記を同じ意味として解釈します。

  • AND(論理積): AND&&&*.、変数の連結
  • OR(論理和): OR|||+
  • NOT(否定): NOT~!-、後置の '
  • XOR(排他的論理和): XOR^

複数文字の変数名は主対象ではありません。 たとえば AB は1つの変数名ではなく、A * B として解釈されます。

関連ツール

よくある質問

同値ではない場合、どこが違うか分かりますか?

はい。最初に見つかった反例を表示します。 反例を見ると、どの入力パターンで式1と式2の出力が異なるか分かります。

式ごとに使っている変数が違っても判定できますか?

はい。入力された式に出てくる変数をまとめて使い、すべての入力パターンで比較します。