Why does $2^{n+1} + 2^{n+1} = 2^{n+2}$? Simple question, why does:
$2^{n+1} + 2^{n+1} = 2^{n+2}$ ?
Furthermore, why does this only work for powers of 2?
Thanks.

On the LHS you have two factors of $2^{n+1}$ so it is simply a case of factoring out a common factor on the left hand side:
$$2^{n+1} + 2^{n+1} = 2^{n+1} \cdot (1 + 1) = 2^{n+1}\cdot 2 = 2^{n+2}$$
For a more combinatorial proof we could also have used double counting. Imagine you want to figure out the number of ways that $n+2$ can form a group of people including zero people, so that each person can choose whether or not to join a group, in essence each person has two choices, and since we have $n+2$ people we have $2\times 2\times 2 \times \cdots \times 2 = 2^{n+2}$. On the other hand if we take those $n+2$ people and split them in two groups where the two groups share $\lfloor\frac{n+2}{2}\rfloor$ among themselves (each group then has a total of $n+1$ people) and write out the set of subsets of each group and then take the union of both set of subsets we see that is equal to the set of subsets of $n+2$ people (if we do not allow for repetitions). Since those individual groups of people of $n+1$ could form $2^{n+1}$ different groups then we have $$2^{n+1} + 2^{n+1} = 2^{n+2}$$ 
The algebraic proof is a little easier to understand though.
