I am not quite sure if my proof is entirely correct. Help is much appreciated.

$(rightarrow)$

Assume $P(a)$. Let an arbitrary $y$. Let $y=a$. Since $P(a)$ and $y=a$, then $P(y)$. Since $y$ is arbitrary, then $forall y ((y=a) rightarrow P(y))$.

$(leftarrow)$ Assume $forall y ((y=a) rightarrow P(y))$. Then, by universal instantiation, $(a=a) rightarrow P(a)$. Then, $P(a)$.

Since $P(a)$ is logically equivalent to $forall y ((y=a) rightarrow P(y))$, then, assuming $Gamma$ is a set of formulas, $Gamma rightarrow P(a)$ is equivalent to $Gamma rightarrow forall y ((y=a) rightarrow P(y))$. If $y$ does not occur in $Gamma$, then the statement is equivalent to $forall y (Gamma rightarrow ((y=a) rightarrow P(y)))$, which is the same as $forall y ((Gamma land (y=a)) rightarrow P(y))$. Have I missed something?