Seems like a key issue here is whether it’s allowed that two distinct sets compare as equal (C++ programming analogy: two instances of the std::complex
type, at different memory locations, which compare as equal because they represent the same complex number)
In normal set theory (and hence OP’s Formulation 1) I believe this is impossible by definition, c.f. Suppes, Axiomatic Set Theory, section 1.2:
‘=‘ is taken as the sign of identity. The formula ‘x=y’ may be read as ‘x is the same as y’, ‘x is identical with y’…it is understood that equality means sameness of identity.
Or more concisely here:
If two terms are equal (i.e. they refer to the same object)
If the OP’s Formulation 2 actually is intended to allow two distinct sets to compare as equal, then it would imply the possibility that:
- $a \in X$ and $b = a$, but $b \notin X$
which would be a very weird new kind of set theory.
But if that’s not the intent, then the two formulations seem equivalent to me (though Formulation 1 seems a lot clearer)