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?
$\endgroup$2 Answers
$\begingroup$$$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$.
$\endgroup$ 2 $\begingroup$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)
$\endgroup$ 1