I hope someone answers this question.
\exists ! x (Px) \equiv_{df} \exists x (Px \wedge \forall y (Py \implies x=y))
It seems you could try to get the same quantifiers by using some clever negations and substitutions, especially:
\neg (\exists x (Px)) \equiv \forall x (\neg Px) and \neg (\forall x (Px)) \equiv \exists x (\neg Px)
For instance, negating the whole statement twice:
\neg (\neg (\exists x (Px \wedge \forall y (Py \implies x=y))))
and distributing the inner negation, but I don't know how to do that.
Okay, I've done some searching (and discovered I was right the first time I tried to answer the question- minor hooray).
\exists ! x (Px) \equiv (\exists x (Px)) \wedge (\forall x \forall y ((Px \wedge Py) \implies x=y))
Negate the whole statement twice (\neg (\neg p) \equiv p):
\neg (\neg (\exists x (Px)) \wedge (\forall x \forall y ((Px \wedge Py) \implies x=y))))
Distribute the inner negation (\neg (p \wedge q) \equiv \neg p \vee \neg q):
\neg (\neg (\exists x (Px)) \vee \neg(\forall x \forall y ((Px \wedge Py) \implies x=y)))
Substitute the negated existential (\neg (\exists x (Px)) \equiv \forall x (\neg Px)):
\neg (\forall x (\neg Px) \vee \neg(\forall x \forall y ((Px \wedge Py) \implies x=y)))
I think that's correct. Eh, the universal case is left to you.
Note that (\forall x \forall y ((Px \wedge Py) \implies x=y)) leaves open the possibility that Px is empty, IOW that no x such that P exists, IOW \forall x (\neg Px).