Logical functions:
There can be total of 2 raise to the power 2^{n} functions possible for n binary variables. So for n=2 i.e. two variables we have total of 16 functions and we have already talked about few of those like AND, OR, NOT. So there are 13 more functions to be defined.
F_{0}=0
F_{1}=xy
F_{2}=xy’
F_{3}=x
F_{4}=x’y
F_{5}=y
F_{6}=x’y+xy’
F_{7}=x+y
F_{8}=(x+y)’
F_{9}=xy+x’y’
F_{10}=y’
F_{11}=x+y’
F_{12}=x’
F_{13}=x’+y
F_{14}=(xy)’
F_{15}=0
Out of these 16 functions, 2 are constants F_{0} &F_{15}
And 4 functions are repeated twice: F_{2} &F_{4}, F_{10} &F_{12}, F_{11} &F_{13}, and F_{3} &F_{5}
Now we are left with 10 functions and out of these 10 are not commutative and associative hence not practical to use. So in the end we are left with 8 logic functions which are actually the 8 standard gates which are AND, OR, NOT, BUFFER, XOR, XNOR, NOR, NAND and defined as follow:
All the gates can be extended to multi input gate but there is a limit on the extension of number of inputs which is known as fanin discussed later. All the 8 gates are commutative and associative.
