Given language $L$. $P$ is a 1-place predicate in $L$. Let language $L_0 = L \setminus \{P\}$. Let $\sigma$ be a sentence of $L$ (may contain symbol $P$). $\mathfrak{A}$ is a structure of $L$, and $\sigma$ is true in $\mathfrak{A}$.

Assume for all structure $\mathfrak{B}$ of $L$, if $h: |\mathfrak{A}|\to|\mathfrak{B}|$ witnesses that $\mathfrak{B}|L_0$ (B restricted to L_0) and $\mathfrak{A}|L_0$ are isomorphic and $\sigma$ is true in $\mathfrak{B}$, then $h$ also witnesses that $\mathfrak{B}$ and $\mathfrak{A}$ (without the restriction) are isomorphic, i.e. $h[P^\mathfrak{A}]=P^\mathfrak{B}$.

Then can we conclude that $P^\mathfrak{A}$ is a definable subset in structure $\mathfrak{A}|L_0$?

The intuition is that if $P^\mathfrak{A}$ is somewhat determined by $\sigma$, can we then turn $\sigma$ into a definition sentence?

When I was tring to prove that $P^\mathfrak{A}$ may not be definable, I found both the automorphism and the cardinality arguments don't work. Have I missed anything?