否定論理積
否定論理積の真理値表
一般に、いくつかの限られた種類の論理演算を任意個組み合わせることにより、任意のブール関数を構成可能であることを、その演算の組は functionally complete であるという(詳細は英語版記事 en:Functional completeness を参照)。ANDとORはどちらも単調であるため「ANDとOR」だけでは完全にならず、NOTを加える必要がある。一方「ANDとNOT」や「ORとNOT」は完全であり、ANDとNOTの組合せであるNAND(や、NOR(否定論理和))はそれひとつだけで完全である。以下にNOT・AND・ORのNANDのみによる構成を示す。
NOT A = A NAND A
A AND B = NOT ( A NAND B ) = ( A NAND B ) NAND ( A NAND B )
A OR B = ( NOT A ) NAND ( NOT B ) = ( A NAND A ) NAND ( B NAND B )