双対性

プログラマの数学の論理の章の続き。論理には双対性(そうついせい)が適応される。and演算をor演算に書き換えるときに使う。やり方はシンプルで

trueとfalse
Aと \lnot A
 \land \lor

それぞれ交換すると出来る。ド・モルガンの法則も双対性があるからandをorに、orをandに、変換できるみたいだ。

 (\lnot A) \lor (\lnot B) =  \lnot(A \land B)
 (\lnot A) \land (\lnot B) =  \lnot(A \lor B)

最初のor演算をand演算に変換しているところを双対性で見ていくと

 \lor \landにひっくり返す。
 \lnot A \lnot B A Bにひっくり返す。

ここまでで、 (A \land B)となる。あとはtrueをfalseにする。そうすると \lnot(A \land B)となる。