任意の命題論理式は有限個の命題変数だけを含む。したがって、その論理式の意味は有限個の付値からなる真理表に記録することができる。本稿では真理表の各行に対応する論理式を作り、選言標準形と連言標準形を構成する。
1 リテラルと標準形
定義 1.1. 命題変数またはその否定をリテラル (literal) という。有限個のリテラルの連言を連言項 (conjunctive term)、有限個のリテラルの選言を選言節 (disjunctive clause) という。空の連言は、空の選言はとする。
定義 1.2. 有限個の連言項の選言を選言標準形 (disjunctive normal form)(DNF)という。有限個の選言節の連言を連言標準形 (conjunctive normal form)(CNF)という。空個の連言項からなる DNF は、空個の選言節からなる CNF はと解釈する。
を相異なる命題変数とし、とする。真理表の行でだけ真となる論理式と、行でだけ偽となる論理式を次のように作る。
定義 1.3.に対して
と置く。最小項 (minterm) と最大項 (maxterm) を
によって定める。結合の順序は、例えば左から結合する規約で固定する。
補題 1.4.に対応する付値を
と定める。は相異なるため、この定義は一意である。このとき
である。
証明.であることとであることは同値である。したがって、のすべてのリテラルが真であることと、すべてのについてであることは同値である。また、が偽であることと、すべてのが偽であることは同値である。後者もと同値である。▨
例 1.5.のうち少なくとも一方が真である真理関数は
という DNF で表される。吸収則を用いるとに簡約することができるが、標準形の構成には簡約を必要としない。
2 標準形の存在
定理 2.1.が以外の命題変数を含まない論理式であり、とする。集合
を定める。このとき
はそれぞれ DNF と CNF であり、すべての付値について
が成り立つ。
証明.の上の値をとする。真理値の局所性により、であることとであることは同値である。
補題 1.4により、であることは、を満たすが存在すること、すなわちと同値である。空の選言の場合も、であるから両辺はすべての付値で偽である。
同じ補題により、であることは、を満たすが存在すること、すなわちと同値である。ゆえにであることとであることは同値である。空の連言の場合も、であるから両辺はすべての付値で真である。▨
標準形定理の構成では、論理式の真理表を作り、真となる行または偽となる行から再び論理式を作る。否定を原子の直前まで移動する規則と分配則を用いる変換もあるが、上の構成では、停止性と正しさを真理表から直接確認することができる。
例 2.2.が偽である行はだけである。したがって標準形定理により得られる CNF は
である。真である三行を用いる DNF は
である。両者は同じ真理関数を表すが、構文木としては異なる論理式である。
3 真理関数の表現可能性
定義 3.1.とし、を相異なる入力変数とする。論理式がを表現する (represent a truth function) とは、すべての付値について
が成り立つことをいう。では右辺を、の唯一の入力における値と読む。この場合、に補助変数が現れてもよいが、その値はすべての付値で一定でなければならない。
定理 3.2.とし、を相異なる命題変数とする。背景の命題変数集合が空でないなら、任意の真理関数は、とから作る論理式によって表現される。
証明.とする。から一つの変数を取る。の入力はだけである。ならを、ならを取る。任意の付値について前者の値は、後者の値はであるから、いずれも定義どおりを表現する。この議論はの真理値に依存しない。
とする。と置き、
とする。の場合は、とする。補題 1.4により、任意のについて
である。連言と選言はとの略記として定義されているため、はとだけから作る論理式を表す。▨
注意 3.3 (変数が零個の場合).の真理関数は、唯一の入力をへ送る関数とへ送る関数の二つである。原始論理定数がなくても、空でない背景変数集合から取ったによりとがそれぞれを表現する。背景変数集合自体が空の場合は論理式が存在しないため、Boolean 商の記事では定数付きの保守的拡大を別に定める。
4 恒真性の決定手続き
定理 4.1. 有限の命題論理式に対して、が恒真であるか否かを有限回の操作で判定する手続きが存在する。
証明.に現れる相異なる命題変数をとする。は有限である。の論理式は本稿の構文には存在しないのでである。
の個の要素を列挙する。各について、構文木を下から上へ有限回たどり、原子、否定、含意の真理値規則を適用してを計算する。構文木は有限であり、調べる付値も有限個であるから手続きは停止する。
すべての行で値がなら、任意の付値は上で列挙した行の一つと一致する。真理値の局所性により、その付値でもは真であるからは恒真である。値がの行があれば、対応する付値が恒真性への反例である。したがって手続きの出力は正しい。▨
例 4.2. 論理式を調べる。とするとは真であり、外側の含意は偽である。したがって論理式は恒真ではない。判定手続きは否定の答えだけでなく、この付値を反例として与える。
5 演習
問題 5.1.
- 排他的選言を表す真理関数について、標準形定理から DNF を構成せよ。
- の CNF を、偽となる行から構成せよ。
- 命題変数の集合は無限集合でもよいとする。有限集合とに対して、であるか否かを有限回の操作で判定する手続きを与え、その出力が正しいことを証明せよ。また、この手続きによりであることと、ではないことを判定せよ。ここでは相異なる命題変数である。
解答 (確認問題の解答).
-
真となる行はとであるから、となる。
-
偽となる行はとである。対応する最大項を連言してを得る。
-
の各論理式に現れる命題変数は有限個であり、は有限集合であるから、のいずれかの論理式に現れる相異なる命題変数の全体は有限集合である。手続きは、各について、補題 1.4の付値のもとでの各論理式との真理値を定理 4.1の証明と同じく構文木を下からたどって計算し、のすべての論理式が真でが偽となるが存在しなければ「帰結である」と出力し、存在すれば「帰結でない」と出力する。調べるは個であり、各計算は有限回の操作で終わるので、手続きは停止する。
出力の正しさを示す。のすべての論理式が真でが偽となるが存在すれば、はへの反例であるから、「帰結でない」は正しい。逆にでないとすると、のすべての論理式を真にしを偽にする付値が存在する。とおくと、とはの各論理式に現れる変数の上で一致するので、§E19.1 命題 2.3によりものすべての論理式を真にしを偽にする。したがって手続きは行を見つけて「帰結でない」と出力する。対偶により、「帰結である」と出力するのはのときに限り、上の二つから出力は正しい。の残りの変数の値は計算に現れないので、が無限集合であっても調べる付値は個で足りる。
とではである。が偽となる行はかつの行に限る。その行でが真であるにはでなければならず、が真であるにはでなければならないので、二つの前提がともに真でが偽となる行は存在しない。よって手続きは「帰結である」と出力し、である。とではであり、、の行でとはともに真では偽である。よって手続きは「帰結でない」と出力し、この行の付値が反例である。
▨