Simplifying Boolean expressions with XOR

152 Views Asked by At

$$p=a\land b$$

pb = pb=true ⊕ pb=false

$$=(a\land(1\lor c))\oplus(a\land(0\lor c))$$ $$=(a\land1)\oplus(a\land c)$$ $$=a\oplus(a\land c)\tag1$$ $$=a\land\neg c\tag2$$ Can someone point me out how $(1)$ has simplified to $(2)$?

2

There are 2 best solutions below

0
On BEST ANSWER

If $a = 1,$ $a \oplus (a \wedge c) = 1 \oplus c = \neg c$

If $a=0$, $a \oplus (a \wedge c) = 0 \oplus 0 = 0$

Hence, for the statemen to be true, we need $a$ to be true.

Hence $a \oplus (a \wedge c) = a \wedge \neg c$

Alternatively:

$$a \oplus (a \wedge c) = a + ac \pmod 2 = a(1+c) \pmod 2 = a \wedge \neg c$$

0
On

Yes, you can for example use that $\phi\oplus\psi = (\phi\land\neg\psi)\lor(\neg\phi\lor\psi)$:

$$a\oplus(a\land c) = (a\land\neg(a\land c)) \lor (\neg a \land(a\land c))$$

Wher the last term is obviously false and using DeMorgan we get:

$$a\land(\neg a \lor \neg c)$$

And using distributive law we get

$$(a\land\neg a) \lor (a\land\neg c)$$

Wher the first term is obviously false and the last term is (2).