There must be a flaw in the following argument, but I don't see it at the moment. Who can point it out?
In first-order logic, suppose that a structure $\mathfrak{U}$ is a model of the formula ($x = 3$):
$$ \mathfrak{U} \vDash x = 3 $$
Then, by the definition of a model, for any assignment function s it is true that
$$ \mathfrak{U} \vDash (x = 3) [s]$$
So the universe of $\mathfrak{U}$ has only one element, which equals the constant 3. And so the structure is also a model of $\forall x (x = 3)$:
$$ \mathfrak{U} \vDash \forall x (x = 3) $$
We have just seen that any model of $x = 3$ is also a model of $\forall x (x = 3)$. So
$$ x = 3 \vDash \forall x (x = 3) $$
Choose any complete deduction system for first-order logic. Then by completeness we have
$$ x = 3 \vdash \forall x (x = 3) $$
There is a natural deduction rule
$$ \frac{\Gamma, A \vdash B}{\Gamma \vdash A \to B} $$
So we can apply it to obtain
$$ \varnothing \vdash x = 3 \to \forall x (x = 3) $$
or
$$ \vdash x = 3 \to \forall x (x = 3) $$
But that statement seems to be invalid. For example, it's not true in a structure whose universe has more than one element under an assignment that maps x to 3.
What am I missing here?