'Algebraic' way to prove the boolean identity $a + \overline{a}*b = a + b$

4.3k Views Asked by At

For me, it is pretty clear that $a + \overline{a}*b = a + b$, because the first $a$ in the or will make sure that if the second term must be 'evaluated', $a$ will always be false, and therefore won't matter in the and - probably because I'm a programmer and it is very common to see this unnecessary cluttering in long if-else structures.

I can easily prove it with the truth table as well, just make both expressions', and turns out they are identical.

But I was looking for a 'algebraic' way to prove it. That is, something using the basic operations properties like the fact that they are transitive, commutative, associative, etc. For example, if I was to prove this other simple identity $a + a*b = a$ I would simply do something like:

$a + a*b = a*(1 + b) = a*1 = a$.

Is there a way to also prove the former using this algebraic operations, without resorting to the truth table?

2

There are 2 best solutions below

2
On BEST ANSWER

$$a + \bar a*b \overset{(1)}{=} (a+\bar a) * (a + b) \overset{(2)}{=} 1 *(a + b) = a+b$$

We simply use $(1)$ distribution of $a$ over the product $\bar a *b$, and $(2)$ the identity that $a + \bar a = 1$.

1
On

You can always resort to a normal form that is effectively equivalent to the truth table:

$$ a + (\bar{a} \cdot b) = (a \cdot (b + \bar{b})) + (\bar{a} \cdot b) = (a \cdot b) + (a \cdot \bar{b}) + (\bar{a} \cdot b) $$

and similarly for $a+b$.


Your own reasoning by splitting into what happens in the case of $a$ and in the case of $\bar{a}$ can be applied too:

$$ \begin{align}a+b &= (a + \bar{a}) \cdot (a+b) \\&= (a \cdot (a+b)) + (\bar{a} \cdot (a+b)) \\&= ((a \cdot a) + (a \cdot b)) + ((\bar{a} \cdot a) + (\bar{a} \cdot b)) \\&= \cdots \end{align}$$

(the argument could be streamlined, but I'm intentionally making it in a very formulaic way)