Is XOR a combination of AND and NOT operators?

141.7k Views Asked by At

I'm not sure whether this is the best place to ask this, but is the XOR binary operator a combination of AND+NOT operators?

6

There are 6 best solutions below

5
On BEST ANSWER

Yes. In fact, any logical operation can be built from the NAND operator, where

A NAND B = NOT(A AND B)

See for instance http://en.wikipedia.org/wiki/NAND_logic, which gives

A XOR B = (A NAND (A NAND B)) NAND (B NAND (A NAND B))

Digression: There is a story about certain military devices being designed using only NAND gates, so that only one part needs to be certified, stocked as spares, etc. I don't know whether it's actually true.

0
On
2
On

Here are two similar but different versions derived using a OR b = NOT(NOT a AND NOT b), though there are others

p XOR q   =             ( p AND NOT q )  OR     ( NOT p AND q ) 
          =   NOT ( NOT ( p AND NOT q ) AND NOT ( NOT p AND q ) )

or

p XOR q   =       (     p  OR     q ) AND NOT ( p AND q )  
          =   NOT ( NOT p AND NOT q ) AND NOT ( p AND q )  
3
On

Meanwhile, let me add the fact that XOR is not expressible by any expression whose operations use only AND, OR, IMPLIES, ConverseImplies and IFF.

To see this, observe merely that True XOR True is False, but the other operations always take True input to True output, a feature that would be inductively preserved in complex expressions.

0
On

enter image description here

0
On

$\{AND, NOT\}$ is a complete set of operators, i.e. you can express any boolean function $f:\{0,1\}^n \to \{0,1\}$ using them:

$$f(x_1,\cdots,x_n) = \lnot \bigwedge_{w\in f^{-1}(1)} \lnot \big(\bigwedge_{w_i=1}x_i \land \bigwedge_{w_i=0}\lnot x_i \big)$$