I've read some examples about the differences between using AND and the implication in FOL, but I have a specific example where I can't intuitively notice the difference between the two:
"Every student able to solve every logic exercise will get an A in AI"
I see that the solution is:
$\forall X\ [\forall P\ exercise(P)\implies solves(X,P)]\implies getsAasgrade(X)$
and I don't understand what's the difference with:
$\forall X\ \forall P\ exercise(P)\cap solves(X,P)\implies getsAasgrade(X)$
since I would read the latter as "for every P which is an exercise and for every entity X such that X solves every exercise P then this entity X gets A", which seems fine to me, but I guess it shouldn't be. Instead I would never express my problem as a nested implication, I really don't even understand how to "read" it in natural language.
Assuming that your second formula is bracketed like:
$$\forall X \lbrack \forall P \lbrack (exercise(P) \wedge solves(X, P)) \implies getsA(X) \rbrack \rbrack $$
Then if some $X$ solves any exercise $P$, then $X$ gets an A. If there is some exercise $P$ that $X$ does not solve, then the conjunction is false and the implication is true.
If you meant for it to be bracketed like
$$\forall X \lbrack \forall P \lbrack (exercise(P) \wedge solves(X, P)) \rbrack \implies getsA(X) \rbrack $$
Then if there is any $P$ such that $\neg exercise(P)$, then the implicant is false and the implication is trivially true and tells us nothing; otherwise, $exercise(P)$ can be replaced by $\top$, and the formula reduced to $$\forall X \lbrack \forall P \lbrack solves(X, P) \rbrack \implies getsA(X) \rbrack$$
In any event, neither of these interpretations correctly capture the requirement.
To understand why the first formula is the correct interpretation, it might help to change $exercise(P) \implies solves(X, P)$ to $\neg exercise(P) \vee solves(X, P)$. Basically, "for all $X$, if (for all $P$, either $P$ is not an exercise or $X$ solves $P$) then $X$ gets an A"