| 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) | |||||||||||||