The Boolean Algebra XOR Problem: Are These Expressions Equivalent?

Click For Summary

Homework Help Overview

The discussion revolves around the equivalence of two Boolean algebra expressions involving the XOR operator. The original poster is comparing their expression, a ⊕ ab ⊕ ac, with the book's expression, a ⊕ b ⊕ c, and is seeking clarification on their equivalence.

Discussion Character

  • Exploratory, Conceptual clarification, Mathematical reasoning

Approaches and Questions Raised

  • Participants suggest building a truth table to compare the expressions and question the original poster's understanding of operator precedence in Boolean algebra. There are discussions about rewriting the expressions and converting XOR operations into equivalent AND and OR forms.

Discussion Status

The discussion is ongoing, with participants providing insights into operator precedence and suggesting methods for comparison. There is no explicit consensus on the equivalence of the expressions, but several lines of reasoning are being explored.

Contextual Notes

Participants note potential confusion regarding Boolean algebra laws and operator precedence, which may affect the original poster's attempts to simplify the expressions. There is also mention of varying interpretations of operator precedence across different programming languages.

Rectifier
Gold Member
Messages
313
Reaction score
4
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.

My answer:
## a \oplus ab \oplus ac ##

Answer in my book:
## 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?
 
Physics news on Phys.org
Did you try building a truth table?
If you do you'll see that your answer is different from the book's answer.
For example ABC = 0,1,0
The book answer gives 1
Your answer results in 0
 
  • Like
Likes   Reactions: Rectifier
Part of your problem may be your understanding of operator precedence.

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:
  • Like
Likes   Reactions: Rectifier
Well, I guess I am doing something wrong then. :/ Thanks for the help.
 
jedishrfu said:
x XOR y = (x OR y) AND (NOT ( x OR y)

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

or alternatively

(x OR y) AND ( NOT x or NOT y)
 
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.
 
  • Like
Likes   Reactions: cpscdave
a ⊕ b ⊕ c does have a rather interesting truth table.
 
Rectifier said:
My answer:
## a \oplus ab \oplus ac ##

Answer in my book:
## 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?
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)}##
 

Similar threads

Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
4
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K