User blog comment:Alemagno12/Rayo and FOST/@comment-1605058-20160331134819

There are two problems.

A minor one is that, say, clause ∃1(...) shouldn't appear in a definition of 1 (see here). Indeed, since we work in the framework of FOST as described in Rayo's number article, we don't need to write ∃1 at all (we still do need to write ∃x(...) though).

The little more serious one is that your definition of 2 is wrong. Indeed, take a look at the part ¬∃z(z∈2∧¬z=0)∧¬∃w(w∈2∧¬w=1). Then, taking 2={0,1} as usual, this clause is false. Indeed, there is z satisfying z∈2∧¬z=0 (namely z=1), which makes ¬∃z(z∈2∧¬z=0) and hence ¬∃w(w∈2∧¬w=1). Similar error appears in the definition of 3.