I want to prove the following proposition:
Let $A$ be a set, $B$ be a subset of $A$, and $f: A\to B$ be a injective map, then $f(A) = f(A-B) + f(B).$
Could you check my proof below?
Assume $f(A-B)\cap f(B) \neq \emptyset$. For $x\in f(A-B)\cap f(B)$ there exist $a\in A$ which satisfies $f(a)=x$ and $b\in A-B$ which satisfies $f(b)=x$. However, this contradicts the original assumption that $f$ is injective: $\forall a, b \in A, f(a)=f(b)\Rightarrow a=b$, thus the above is impossible. Thus, $f(A-B)\cap f(B)=\emptyset$ and hence $f(A)=f(A-B)+f(B)$.
Other than the typo I've pointed out in a comment, your proof is fine.
Note, however, that you don't need that $B \subseteq A$. The following is true:
Lemma. Let $f \colon A \to B$ be injective, $C \subseteq D \subseteq A$ Then $$f[D] = f[D \setminus C] \mathbin{\dot{\cup}} f[C].$$
(The proof is virtually the same as the one you've given.)
Also note that injectivity is necessary:
Lemma. If $f \colon A \to B$ is not injective, then there is some $C \subseteq A$ such that $$f[A \setminus C] \cap f[C] \neq \emptyset.$$
I'll leave the easy proof to you as an exercise. (Hint: You can choose $C$ to be a singleton.)