1

ブール式を(回路基板のように)NANDにマッシュすることでブール式を単純化し、再構築するこのHaskellコードを考えてみましょう

GHC 7.4.2 でコンパイルすると、Windows システムで次の出力が得られます。

Before:
And (Or (Not (Input 1)) (And (And (Input 2) (Input 1)) (Input 3))) (Not (Or (Inp
ut 1) (And (Input 2) (Input 4))))

Mash:
Nand (Nand (Nand (Nand (Nand (Input 1) (Input 1)) (Nand (Input 1) (Input 1))) (N
and (Nand (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Input 2) (Input 1))) (In
put 3)) (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Input 2) (Input 1))) (Inpu
t 3))) (Nand (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Input 2) (Input 1)))
(Input 3)) (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Input 2) (Input 1))) (I
nput 3))))) (Nand (Nand (Nand (Input 1) (Input 1)) (Nand (Nand (Nand (Input 2) (
Input 4)) (Nand (Input 2) (Input 4))) (Nand (Nand (Input 2) (Input 4)) (Nand (In
put 2) (Input 4))))) (Nand (Nand (Input 1) (Input 1)) (Nand (Nand (Nand (Input 2
) (Input 4)) (Nand (Input 2) (Input 4))) (Nand (Nand (Input 2) (Input 4)) (Nand
(Input 2) (Input 4))))))) (Nand (Nand (Nand (Nand (Input 1) (Input 1)) (Nand (In
put 1) (Input 1))) (Nand (Nand (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Inp
ut 2) (Input 1))) (Input 3)) (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (Input
 2) (Input 1))) (Input 3))) (Nand (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (
Input 2) (Input 1))) (Input 3)) (Nand (Nand (Nand (Input 2) (Input 1)) (Nand (In
put 2) (Input 1))) (Input 3))))) (Nand (Nand (Nand (Input 1) (Input 1)) (Nand (N
and (Nand (Input 2) (Input 4)) (Nand (Input 2) (Input 4))) (Nand (Nand (Input 2)
 (Input 4)) (Nand (Input 2) (Input 4))))) (Nand (Nand (Input 1) (Input 1)) (Nand
 (Nand (Nand (Input 2) (Input 4)) (Nand (Input 2) (Input 4))) (Nand (Nand (Input
 2) (Input 4)) (Nand (Input 2) (Input 4)))))))

After:
simpl.exe:

私の観点からはAfter: simpl.exe、意味がありません。プログラム呼び出しのようです。何が起こっているのか理解できません。お知らせ下さい。

4

0 に答える 0