論理式の同値判定ツール
複数の論理式を入力して、すべて同じ動作をするか判定するWebツールです。 すべての入力パターンで出力が一致すれば「同値」、一致しない行があれば「同値ではない」と判定し、反例を表示します。
判定結果
これらの論理式は同値です。 すべての入力パターンで、すべての式の出力が一致しました。
| 入力 | 出力 | ||
|---|---|---|---|
| A | B | 式1 | 式2 |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
要望やバグ報告はお問い合わせフォームからどうぞ。
使い方
式1、式2、必要なら追加した式に論理式を入力して「同値判定する」を押すと、それらの式が同じ動作をするか判定します。 すべての入力パターンで出力が一致すれば同値、一致しない行があれば同値ではないと判定します。
たとえば ~A * B + A * ~B と A ^ B は、どちらも A と B の値が異なるときに 1 になる式です。 このツールでは、このような論理式の答え合わせを真理値表で確認できます。
同値判定とは
複数の論理式が同値であるとは、どの入力パターンでも出力が一致することです。 式の見た目が違っていても、真理値表の出力がすべて同じなら同値です。
真理値表を使った判定方法
このツールでは、入力されたすべての式に含まれる変数の和集合を使って入力パターンを作ります。 ある式にだけ出てくる変数がある場合も、その変数を含めて比較します。
変数数が増えると行数は 2^n で増えるため、プロトタイプでは8変数までを対象にしています。
同値でない場合は反例を表示
同値でない場合は、式どうしの出力が異なる入力パターンを反例として表示します。 どの変数の組み合わせで答えがずれるのかを確認できます。
対応している論理演算子
AND、OR、NOT、XOR の基本的な論理演算に対応しています。 授業や教科書によって使われる記号が違うため、よく使われる複数の表記を同じ意味として解釈します。
- AND(論理積):
AND、&、&&、*、.、変数の連結 - OR(論理和):
OR、|、||、+ - NOT(否定):
NOT、~、!、-、後置の' - XOR(排他的論理和):
XOR、^
複数文字の変数名は主対象ではありません。 たとえば AB は1つの変数名ではなく、A * B として解釈されます。
関連ツール
- 論理式から真理値表 作成ツール: 1つの論理式の出力を0/1の表で確認できます。
- 論理式から回路図 変換ツール: 論理式を AND / OR / NOT / XOR の論理ゲート回路図に変換できます。
- クワイン・マクラスキー法 オンライン計算ツール: 論理式を最小積和形に簡単化できます。
よくある質問
同値ではない場合、どこが違うか分かりますか?
はい。最初に見つかった反例を表示します。 反例を見ると、どの入力パターンで式1と式2の出力が異なるか分かります。
式ごとに使っている変数が違っても判定できますか?
はい。入力された式に出てくる変数をまとめて使い、すべての入力パターンで比較します。
