Exactly one in Predicate Logic Could anyone tell me how to translate the following sentence into predicate logic.

E : the set of elephants

A : the set of animals

G(x) : x is green

E(x) : x is an elephant

N(x; y) : name of x is y

There is exactly one green elephant and his name is James.
For example
$$\exists j\;\Bigl( E(j)\land G(j)\land\forall x\; \bigl((E(x)\land G(x))\to (x=j\land N(x,\text{James}))\bigr)\Bigr) $$
("There exists an object $j$ that is both an elephant and green and any (other) object that is also an elephant and green is this $j$ and is named James")
or 
$$\exists j\;\Bigl( E(j)\land G(j)\land N(j,\text{James})\land\forall x\; \bigl((E(x)\land G(x))\to x=j\bigr)\Bigr) $$
("There exists a green elephant named James and any green elephant equals this")
or if $\exists !$ is available
$$ \bigl(\exists!x\,E(x)\land G(x)\bigr)\land \forall x\,\bigl((E(x)\land G(x))\to N(x,\text{James})\bigr)$$
("There exists exactly one green elephant and all a green elephants are named James").

Note that 
$$ \exists !j\;\bigl(E(j)\land G(j)\land N(j,\text{James})\bigr)$$
is not correct
For example
$$\exists j\;\Bigl( E(j)\land G(j)\land\forall x\; \bigl((E(x)\land G(x))\to (x=j\land N(x,\text{James}))\bigr)\Bigr) $$
("There exists an object $j$ that is both an elephant and green and any (other) object that is also an elephant and green is this $j$ and is named James")
or 
$$\exists j\;\Bigl( E(j)\land G(j)\land N(j,\text{James})\land\forall x\; \bigl((E(x)\land G(x))\to x=j\bigr)\Bigr) $$
("There exists a green elephant named James and any green elephant equals this")
or if $\exists !$ is available
$$ \bigl(\exists!x\,E(x)\land G(x)\bigr)\land \forall x\,\bigl((E(x)\land G(x))\to N(x,\text{James})\bigr)$$
("There exists exactly one green elephant and all a green elephants are named James").

Note that 
$$ \exists !j\;\bigl(E(j)\land G(j)\land N(j,\text{James})\bigr)$$
is not correct