I have a questions about the definability of truth in set theory.
Suppose that $\mathcal{L}$ is a language for a first order set theory $T$.
Let $Sat(A,x, y)$ be the formula that define the satisfaction relation, that this, $Sat(A,\ulcorner \varphi\urcorner, a)$ if only if $A \vDash \varphi[a]$, where $\varphi$ is a formula in the language of $\mathcal{L}$, $A$ is a transitive set, $\ulcorner \varphi\urcorner$ is the Gödel codification, and $a=(a_1, \ldots, a_n) \subset A^n$.
If $\varphi$ is a sentence, $Sat(A,\ulcorner \varphi\urcorner, \emptyset)$ if only if $A \vDash \varphi$.
If this is correct, the following is correct: $\psi(x) := \forall A (Sat(A,x, \emptyset))$ is definable. The above formula say "for all $A$ transitive, $\varphi$ is truth in $A$". But by the Gödel's completeness theorem we know that for all sentence $\varphi$, $\psi(\ulcorner \varphi\urcorner)$ if only if $\ulcorner \varphi\urcorner$ is a theorem, but this contradicts the Tarski's theorem of undefinability of truth. What is wrong?
The problem is that $Sat(A,x, y)$ is definable for $A$ transitive set , but $A$ is a model of $T$ is not definable? for example when $T$ is $ZFC$. Is there a set theory $T$ in which the above reasoning is correct?
Thanks.