Boolean functions: functional completeness | |||||||||||||
What about using only 1 Boolean function? | |||||||||||||
We showed earlier that OR could be implemented using only NAND: | |||||||||||||
x | y = (x NAND x) NAND (y NAND y) | |||||||||||||
In the process of doing so, we also showed that NOT could be implemented with NAND: | |||||||||||||
~x = x NAND x | |||||||||||||
Since {OR, NOT} is functionally complete, so is {NAND} | |||||||||||||
Similarly, we can show that OR and NOT can be implemented with NOR: | |||||||||||||
~x = ~(x | x) | |||||||||||||
= x NOR x | |||||||||||||
x | y = ~~(x | y) | |||||||||||||
= ~(x NOR y) | |||||||||||||
= (x NOR y) NOR (X NOR y) | |||||||||||||