ひとつの論理演算子ですべての論理演算子を実現する

nandだけがあれば、すべての論理演算子を実現できます。

not X = X nand 1
X and Y = (X nand Y) nand 1
X or Y = not ( (not X) nand (not Y)) 
       = ( (X nand 1) nand (Y nand 1)) nand 1
X nor Y = not (X or Y) 
        = (X nand 1) nand (Y nand 1)
X xor Y = (X or Y) and (X nand Y) 
        = ((((X nand 1) nand (Y nand 1)) nand 1) nand (X nand Y)) nand 1

ひとつの論理演算子ですべての論理演算子が実現できることを発見したのはシェファーという人なので、nandは論理学ではシェファーの棒記号といわれてます。
これ、プログラム組めてれば、なんだかわざわざ発見するようなものでもなさそうな気がします。
でも、論理学の発展段階では、なかなかわからなかったことなんです。
プログラムというのは論理学のひとつの成果なので、プログラムに慣れてると論理学はそんなに難しくないかもしれません。