次の問題があります。
論理的に同等にならなければならない 2 つの命題式があります。そのうちの 1 つだけが「変数」を含みます。これは、変数を任意の命題式に置き換えることができるという意味です。ここでの問題は、論理的等価性が真になるように、変数の実際の置換を見つける必要があることです。例:
(a ^ ~b) または x = a
ここで、x は変数を表します。この論理的等価性は、x を a ^ b に置き換えることによって真にすることができるため、次のようになります。
(a ^ ~b) または (a ^ b) = a
これが問題です。入力として「1つの変数xを持つ方程式」を取得し、方程式が論理的に等価になるように変数xの出力値として与えるアルゴリズムが必要です。
変数は常に 1 つです。(実際、複数の変数で問題が発生する可能性がありますが、最初に単純なケースを解決したいと考えています)。問題の数式は、任意の形式を持つことができます (それらは CNF または DNF ではありません)。また、数式は実際には FALSE または TRUE になる可能性があり、解がない場合 (たとえば、"a または x = false" の場合、解がない場合) または複数の解 (たとえば、"a and x = false の場合) があります。 " 誤った命題は有効な答えになります)。
私が持っているのは、式が充足可能かどうかを教えてくれるタブロー推論器だけです。だから私は解決策をテストすることができます。しかし、私の問題は、私に解決策を与えることです。