I have a question on the close links between extensionality and set equality in ZFC, with or without first order logic (FOL) equality as a primitive inherited by ZFC.
The former seems clear and is covered in Wikipedia and in several MSE posts (here, here, here, and here). We start with FOL equality and it’s substitution property and state that if two sets are equal the predicate formula for membership is true for one set if and only if it’s true for the other. For a predicate formula with two free variables $\phi(x,y)$, the substitution property of FOL equality can be stated as:
$$A=B\implies \forall x (\phi(x,A)\iff \phi(x,B))$$
If the predicate formula is the membership relationship $\phi(x,y)=x\in y$ we get the definition of set equality inherited from FOL equality.
$$A=B\implies \forall x (x\in A\iff x\in B)$$
This defines set equality but doesn’t establish extensionality because two sets with the same members could theoretically differ in other properties which make them unequal. Extensionality is established by stating the converse of the equality definition as the Axiom of Extensionality.
$$\forall x (x\in A\iff x\in B) \implies A=B$$
One can then combine these into the biconditional which nicely captures both extensionality and the inheritance of FOL equality into set equality, i.e.,the binding of $=$ and $\in$, in one tidy package.
$$A=B\iff \forall x (x\in A\iff x\in B)$$
So far so great.
Things get a bit more vague for me if one assumes FOL without equality (or chooses not to define set equality in terms of it). I understand most set theorists accept FOL with equality but I find it an interesting exercise to establish extensionality and define set equality without using FOL equality to define the latter. Again, Wikipedia and other MSE posts touch on this but don’t lock it down for me.
The first option appears to be to just accept the above biconditional as both the definition of set equality a statement in extensionality. Is this actually an axiom or just a definition of set equality in terms of the primitive membership relation? I am aware of the debates on whether definitions are just axioms so what I am really asking is whether extensionality is simply a byproduct of the definition of set equality or whether the Axiom of Extensionality is embedded in the biconditional as it was when we assumed FOL equality.
What intrigues me even more is the approach of stating the Axiom of extensionality without yet defining set equality.
$$\forall A \forall B (\forall X(X\in A \iff X\in B)\iff \forall Y(A\in Y \iff B \in Y))$$
Wikipedia states this without comment as do a few MSE posts linked above. One comment in one of the posts states that either way (i.e., whether you have FOL equality or not) one will eventually have to prove the above.
This idea that two sets have the same members if and only if they are members of the same sets seems pretty fundamental and interesting in its own right, but I have not been able to find any additional color online or in the standard set theory textbooks (Halmos, Hrbeck & Jech, Hatcher, Kunen, etc.). Wikipedia refers to it as merely the “substitution property” of equality but I don’t see that and it seems like it should have deeper meaning. An answer to this post proves it assuming FOL equality, which I get. I would appreciate one of the set theory gurus here explaining how to define set equality from above without using FOL equality, and if there is any deeper meaning to all this. Much appreciated.
This gives us substitution because $x\in y$ and $y \in x$ are the only two atomic formulae! Still working on combining 1 and 2 to get the final biconditional defining = in one direction and axiomatizing extensionality in the other. – user175324 Jan 25 '23 at 14:07