真理表をブラウザで自動生成

第2章 No.3 / 以前は Mathematica で書いていた処理を JavaScript で

論理式を入力すると、真理表とトートロジー判定を自動で行います。変数は p, q, r, s, t(小文字 1 文字)、演算子は & (AND)、| (OR)、! (NOT)、-> (含意 ⊃)、<-> (同値 ⇔)、^ (XOR) と括弧 (, ) です。

Truth Table Generator Live

仕組み

入力された論理式を再帰下降パーサで構文解析し、すべての変数の組み合わせ (2n 通り) について評価します。出力結果のすべての行が「真」となれば トートロジー、すべての行が「偽」となれば 恒偽式、それ以外は 充足可能式 です。

// 演算子優先順位 (低い → 高い)
// <->  ←  ↔ (右結合)
// ->   ←  → (右結合)
// |    ←  OR
// ^    ←  XOR
// &    ←  AND
// !    ←  NOT
// (E)  括弧