Having trouble with this question:
If $p,q$ are primitive statements, prove that
$$(\neg p \vee q)\wedge (p\wedge (p\wedge q))\iff (p\wedge q)$$
Source: Discrete and Combinatorial Mathematics by Ralph P. Grimaldi
I'm wondering how I should approach this problem to get to the solution, and also what I should do in the future. Here is my work so far:

It is quite easy using Distributivity.
We will start with :
In order to avoid cumbersome rewriting, we will preliminarly simplify the RHS, recalling that : $(A \land A) \Leftrightarrow A$ and using Associativity : thus,we can rewrite $(p∧(p∧q))$ as $((p∧p)∧q)$ and as $(p∧q)$.
Then we will "distribute" the RHS "over" $\land$ ; thus we need :
$(A \land (B \lor C)) \Leftrightarrow ((A \land B) \lor (A \land C))$.
Proof :
$$(¬p∨q)∧(p∧(p∧q)) \Leftrightarrow (¬p∨q)∧(p∧q) \Leftrightarrow $$
$$(\lnot p \land (p \land q)) \lor (q \land (p \land q)) \Leftrightarrow $$
Now using Associativity : $(\lnot p \land (p \land q)) \Leftrightarrow ((\lnot p \land p) \land q))$ and Associativity and Commutativity : $(q \land (p \land q)) \Leftrightarrow (p \land (q \land q))$ , we get :
$$((\lnot p \land p) \land q)) \lor (p \land (q \land q)) \Leftrightarrow $$
Now we simplify again $(q \land q)$ and we need the law : $(A \land \lnot A) \Leftrightarrow \bot$, to get :
$$(\bot \land q) \lor (p \land q) \Leftrightarrow $$
Finally, we use the laws : $(\bot \land A) \Leftrightarrow \bot$ and $(\bot \lor A) \Leftrightarrow A$ to conclude with :
Conclusion :