Proving that $A\cup B=(A-B)\cup(B-A)\cup (A\cap B)$ I am not sure if I am approaching this right:

Let $A$ and $B$ be sets. Prove that  $A\cup B = (A-B)\cup (B-A)\cup (A\cap B)$.

My approach:
A U B 
A or B 
(A and B_complement) or (B and A_complement) or (A and B)
(A-B) U (B-A) U (A intersect B)
(A-B) U (B-A) U (A intersect B)
(A and B_complement) or (B and A_complement) or (A and B)
A or B
A U B
So is this right? 
Thanks in advance for all the help! :D
 A: You could use some words. Suppose $x\in A\cup B$. Then $x\in A$ or $x\in B$. We have three options: 
$(1)$ $x\in A$ but $x\notin B$, or
$(2)$  $x\notin A$ but $x\in B$, or
$(3)$ $x\in A$ and $x\in B$. 
What does this translate to in terms of $A-B,B-A,A\cap B$?
Conversely, suppose $x\in (A-B)\cup (B-A)\cup (A\cap B)$. Then either $x\in B-A$; $x\in A-B$ or $A\cap B$. In any case, we always have $x\in A$ or $x\in B$, so that triple union is contained in $A\cup B$.
A: In the calculational proof style of Dijkstra-Scholten-Feijen-Gries-Schneider, you could start with the most complex side, and calculate which elements that set has by expanding the definitions and simplifying.
So (in baby steps) for all $\;x\;$,
\begin{align}
& x \in (A-B) \cup (B-A) \cup (A \cap B) \\
\equiv & \qquad \text{"definition of $\;\cup\;$, twice"} \\
& x \in (A-B) \lor x \in (B-A) \lor x \in (A \cap B) \\
\equiv & \qquad \text{"definition of $\;-\;$, twice; definition of $\;\cap\;$"} \\
(*) \quad \phantom\equiv & (x \in A \land x \not\in B) \lor (x \in B \land x \not\in A) \lor (x \in A \land x \in B) \\
\equiv & \qquad \text{"logic: simplify by 'factoring out' common conjunct $\;x \in B\;$"} \\
& (x \in A \land x \not\in B) \lor (x \in B \land (x \not\in A \lor x \in A)) \\
\equiv & \qquad \text{"logic: excluded middle"} \\
& (x \in A \land x \not\in B) \lor (x \in B \land \text{true}) \\
\equiv & \qquad \text{"logic: simplify"} \\
& (x \in A \land x \not\in B) \lor x \in B \\
\equiv & \qquad \text{"logic: use negation of $\;x \in B\;$ on other side of $\;\lor\;$"} \\
& (x \in A \land \text{true}) \lor x \in B \\
\equiv & \qquad \text{"logic: simplify"} \\
& x \in A \lor x \in B \\
\equiv & \qquad \text{"definition of $\;\cup\;$"} \\
& x \in A \cup B \\
\end{align}
By set extensionality, this proves the original statement.
(There are other ways to continue from $(*)$, but the above seems to be one of the simplest.)
A: Generally in order to prove the equality of two sets you have to prove that: 


*

*any element in the first set is in the second set

*any element in the second set is in the first set

A: You can transfer the question to the logical statement. E.g. $A\cup B = \{x|x\in A \wedge x \in B\}$. Equality of both sets means that $(x \in A \wedge x \in B) =: a \wedge b$ is logically the same as the respective term from the right side of your set theoretic statement. This is done by distinguishing the four combinations of possible logical values of $a$ and $b$ in a logical table.
