I think there might be something wrong with part (i) of your question.

Let's assume (taking a very specific case) in 2-D Cartesian:

#vec u = (0,2)^T#, #vec v = (0,1)^T# and #vec a = (1,0)^T#

Assuming, in the usual course, that your notation means that:

#Proj_a vec u = Proj_a vec v implies vec u cdot hat a = vec v cdot hat a#

...where #hat a# is the unit #vec a# vector , then we have:

# vec u cdot hat a = (0,2)((1),(0)) = 0#

# vec v cdot hat a = (0,1) ((1),(0)) = 0#

So #Proj_a vec u = Proj_a vec v = 0#, which is your requirement in this very specific case.

But:

#vec u cdot vec v = (0,2)((0),(1)) = 2#

And:

#vec v cdot vec a = (0,1)((1),(0)) = 0#

So:

#vec u cdot vec v ne vec v cdot vec a #

The second bit (ie: part(ii)) is actually a lot easier to show once you add on the necessary conditions.