ある処理で
(A AND B)
はすでに実現済み。
で、今回はその否定を後付で作りこむことになった。
否定といえば、ド=モルガン。
!(A AND B)=!A OR !B
ということで、AとBをそれぞれ否定しておいて結合演算子を反転させるように考えていたけど、実はちょっとここではかけない想定外の要素があってそれが実現できないことがわかった。
かなり悩んだ結果とりあえず帰路についたが、電車の待ち時間に
!(A AND B) = ALL - (A AND B)
とすればとっても簡単なことに気づいた。