# Boolean algebra - XOR

Tags:
1. Sep 23, 2016

### Rectifier

The problem
This is not a complete homework problem. I am at the last step of the solution to a long problem and only interested to know whether these following expressions are equivalent.

$a \oplus ab \oplus ac$

$a \oplus b \oplus c$

The attempt
I have tried rewriting that expression and get
$a \oplus ab \oplus ac = a \oplus a(b \oplus c)$

I am not advancing any longer from there. I am surely missing some algebraic law for boolean expressions. Could you please help me?

2. Sep 23, 2016

### cpscdave

Did you try building a truth table?
For example ABC = 0,1,0

3. Sep 23, 2016

### Staff: Mentor

It seems to vary slightly across programming languages. For C, Java and Javascript it is:

NOT > AND > XOR > OR

a XOR ( a AND b) XOR ( a AND c)

with XOR equivalent to:

x XOR y = (x OR y) AND (NOT ( x AND y) // mentor note: fixed the expression (thx cpscdave)

reworking the second and third terms should get you to the goal.

Last edited: Sep 23, 2016
4. Sep 23, 2016

### Rectifier

Well, I guess I am doing something wrong then. :/ Thanks for the help.

5. Sep 23, 2016

### cpscdave

Think you mean
(x OR y) AND [NOT ( x AND y)]

or alternatively

(x OR y) AND ( NOT x or NOT y)

6. Sep 23, 2016

### Staff: Mentor

Yes you are right my apologies.

I got my up and down arrows confused in my conversion to ands and ors.

I fixed my post.

7. Sep 23, 2016

### SammyS

Staff Emeritus
a ⊕ b ⊕ c does have a rather interesting truth table.

8. Sep 25, 2016

### Staff: Mentor

I would proceed by converting one XOR at a time to its equivalent in AND and OR, starting with this:

$\mathrm {a \oplus ab \oplus ac = a (\overline {ab \oplus ac }) + \overline a (ab \oplus ac)}$