Proving $|x+y|=|x|+|y| \iff x\cdot y \geq 0$ 
Prove: $|x+y|=|x|+|y| \iff x\cdot y \geq 0$.

$|x+y|=|x|+|y| \iff x+y=x+y$ and $-(x+y)=-x-y \iff \{x,y\}\geq 0$ and $\{x,y\}\leq 0 \iff x\cdot y\geq 0$ in both cases.
 A: Your proof doesn't quite make sense. You are saying that
$$
\lvert x+y\rvert =\lvert x\rvert+\lvert y\rvert \iff x+y=x+y
$$
But the right hand side here is always true.
Maybe another approach would be to use that $\lvert x\rvert^2 = x\cdot x$. So if $\lvert x+y\rvert =\lvert x\rvert+\lvert y\rvert$, then
$$
(x + y)\cdot (x+y) = (\lvert x\rvert+\lvert y\rvert)^2.
$$
So
$$
\lvert x\rvert^2 + 2x\cdot y + \lvert y \rvert^2
$$
is definitely not negative. So ...
A: One way:
$$
|x+y|=|x|+|y| \iff \text{$x,y$ both positive or $x,y$ both negative} \iff x\cdot y \geq 0\tag{1}
$$
Of course, this is very similar to the flow of your own proof, but this does not include the erroneous$\lvert x+y\rvert =\lvert x\rvert+\lvert y\rvert \iff x+y=x+y$. You could expand on $(1)$ by taking cases; you'd have to consider four cases but ultimately three due to symmetry ($x,y$ both odd, both even, one odd one even). 
And you could also approach it as Thomas did. 
A: You're starting in the wrong direction when you say

$|x+y|=|x|+|y|$ if and only if $x+y=x+y$ and $-(x+y)=-x-y$

To begin with, the equality $|x|=y$ means

$x=y$ or $-x=y$

and there is a big difference between and and or.
Since the two numbers are non negative by definition, you can square both sides getting an equivalent condition:
$$
|x+y|^2=(|x|+|y|)^2
$$
which becomes
$$
x^2+2xy+y^2=x^2+2|x|\,|y|+y^2
$$
(because $|a|^2=a^2$). Canceling equal terms we reduce to
$$
xy=|xy|
$$
which becomes $xy\ge0$. Indeed, $a=|a|$ if and only if $a\ge0$.
