why is (b *c)+(a*c) = c? I have been learning boolean algebra but I am stuck understanding a rule.
That is the term I am trying to explain my problem on:
$$(\neg a*\neg b* \neg c)+(\neg a*\neg b * c)+(\neg a *b *c)+(a*\neg b*c)+(a*b*c)$$
I first cut it down to this:
$(\neg a * \neg b)+(\neg a *b *c)+(a*c)$ // I think this is right so far
the next step would be: $(\neg a * \neg b)+(b *c)+(a*c)$ // problem 1
and after that it would be:  $(\neg a * \neg b)+c$ // problem 2
so, the first problem is: why is $(\neg a *b *c)+(a*c) = (b *c)+(a*c)$  ?
I would appreciate a detailed explanation, I think the same thing happens on problem 2:
why is $(b *c)+(a*c) = c$ ?
I first thought okay, it is because both terms depend on c anyway, but lets say $c=1  $ and $b = 0 = a$ this would be a different outcome than just $c = 1$, so how do we get $c$ as the result? I think its probably the same way as with problem 1.   
I would appreciate your help
 A: Starting from: 
$$(\neg a*\neg b* \neg c)+(\neg a*\neg b * c)+(\neg a *b *c)+(a*\neg b*c)+(a*b*c)$$
Indeed, a first step could be to combine the first two into:
$$(\neg a*\neg b)+(\neg a *b *c)+(a*\neg b*c)+(a*b*c).$$
Now what I would do is rewrite the last three terms by pulling out the $c$ as:
$$(\neg a*\neg b)+c * (\neg a *b + a*\neg b + a*b).$$
Now, since the result is a $1$ anyway if both $a$ and $b$ are $0$ (by the first term), you can introduce a dummy term to "complete the square":
$$(\neg a*\neg b)+c * (\neg a *b + a*\neg b + a*b + \neg a * \neg b).$$
This would then be equal to
$$(\neg a*\neg b)+c.$$
To answer your concrete question: the equivalence only holds conditioned on $a, b$ such that the first term is not equal to $1$. Just as I did above, $(\neg a *b + a*\neg b + a*b + \neg a * \neg b) = 1$ but generally $(\neg a *b + a*\neg b + a*b) \neq 1$. So $b* c + a * c \neq c$ but in the context here, where the first term is not $1$ only if at least one of $a$ and $b$ equals $1$, then indeed $b * c + a * c = c$.
A: I assume you are writing $+$ for $\vee$, i.e. inclusive OR, and $*$ for $\wedge$, i.e. AND.
Then the first statement is true: $(\neg a* b* c)+(a* c)=(b* c)+(a* c)$. This is because $b* c=(a* b* c)+(\neg a* b* c)$, so $$(b* c)+(a* c)=(a* b* c)+(\neg a* b* c)+(a* c)\\ =\big((a* b* c)+(a* c)\big)+(\neg a* b* c)\\ =\big((a* c)*(b+1)\big)+(\neg a* b* c)\\ =(a* c)+(\neg a* b* c),$$
since $b+1=1$ ("anything OR true" is true).
Your second statement doesn't work. It is true that $(\neg a*\neg b)+(b∗c)+(a∗c)=(\neg a*\neg b)+c$, but not that $(b∗c)+(a∗c)=c$. In general $x+y=x+z$ does not mean that $y=z$ in Boolean algebra (after all $x+x=x+0$ for any $x$). This is why $+$ is a misleading symbol to use for OR.
A: If $a$ is true, then $(\lnot a *b*c) + (a*c) \equiv (a*c)$ which is true iff $c$ is true, therefore is equivalent to $(a*c) + (b*c)$.
If $a$ is false, $(\lnot a *b*c) + (a*c) \equiv (\lnot a *b*c) \equiv (b*c) \equiv (b*c) + (a*c)$
Thus, in all cases, $$(\lnot a *b*c) + (a*c) \equiv (b*c) + (a*c)$$.
Now $$\begin{align}(\lnot a *\lnot b)+(b*c) + (a*c) &\equiv (\lnot a *\lnot b)+(a+b)*c\\&\equiv (\lnot a *\lnot b) + (\lnot(\lnot a *\lnot b))*c\\&\equiv A + (\lnot A*c)\end{align}$$
Making the distinction between when $A =^{def} (\lnot a*\lnot b)$ is true or false, you finally get that $(\lnot a *\lnot b)+(b*c) + (a*c) \equiv (\lnot a *\lnot b)+c$
(Also note that $(b*c) + (a*c) \ne c$, you need that third term)
