読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

(49) 論理回路のKarnaugh図

以下の論理回路を例に、考えます。

この回路のKarnaugh図を生成してみましょう。

/* 8.1.14m */
nand(x, y) := not (x and y)$
logic(x, y) := nand(nand(x, y), nand(not x, not y))$
apply(matrix, makelist(makelist([a, b, logic(a>0, b>0)], a, 0, 1), b, 0, 1));

この回路は、排他的論理和の否定であることがわかりました。