I know that in a set theory like Z or ZF we can prove the existence of the empty set starting from the existence of any set (guaranteed for example from infinity axiom) using the separation axiom on the first order formula $x\neq x$. However, it seems to me that it is not really necessary to have an axiom that guarantees the existence of a set. More explicity:
Let $\mathcal{L}=\{=, \neq, \in, \notin\}$ be a language (I am assuming the notation that only symbols that are not common to all languages are displayed), we can define the following axioms (closed first order formulas):
A$1$[Extentionality]: $\forall x \forall y\forall z\Big((z\in x \iff z\in y) \Rightarrow x=y\Big)$
A$2$[Separation(schema)]: Let $n\geq1$, let $A(x, x_1, .., x_n)$ be a first order formula in $\mathcal{L}$ with $n+1$ free variable, then $\forall x \exists y\forall z\Big(z\in y \iff (z\in x \land A(z, x_1, .., x_n))\Big)$
Let $T=\{A1, A2\}$ be a theory on $\mathcal{L}$,
let $\mathcal{U}$ any $\mathcal{L}$-structure such that $\mathcal{U} \models T$;
Since the extentionality we can define the empty set, $\emptyset$, (if exists) as the (unique) set which has not elements, i.e. such that $\mathcal{U} \models \forall x(x\notin y)$. So my attempt:
Prop: $\exists \emptyset, $ i.e is deducible from T the formula $\exists y\forall x(x\notin y)$ .
Proof: Let $A(x)= (x \neq x)$ be a first order formula in $\mathcal{L}$ with one free variable, by $A2$ we have $\forall x \exists y\forall z\Big(z\in y \iff (z\in x \land z\neq z)\Big)$ $\iff$ $\forall x \exists y\forall z\Big(z\in y \iff F\Big)$ $\iff$ $\exists y\forall z\Big(z\in y \iff F\Big)$ $\iff$ $\exists y\forall z(z \notin y)$.
ADDENDUM: A related question is here. I think my doubts arose from the fact that the text I am following chooses not to consider it possible to have an empty structure for languange. So my questions are:
Why are we interested to have non empty structures for language?
Assuming that we can have empty structure, what formal error i made in my attempt?