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 2 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 defined further separately:

AND, OR, NOT, BUFFER, XOR, X-NOR, NOR, NAND

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 fan-in discussed later. All the 8 gates are commutative and associative.