0

The question is expressed in title. Is $``A=\{x|x\in A\}"$ an admitted expression in ZFC.

3 Answers3

3

EDIT: I'm assuming that the OP is asking about whether the expression in question is allowed by the syntax of ZFC, and if so whether it is provable in ZFC. If per Eric Wofsey's comment below the question is instead whether "$A=\{x\vert x\in A\}$" is a valid definition of a set in the ZFC framework (modulo syntax issues), this old answer of mine might be helpful (and the answer is no).


No, it's not - set builder notation is not part of the syntax of ZFC. Well-formed formulas in the language of ZFC can only use the logical symbols $\wedge,\vee,\neg,\rightarrow,\leftrightarrow,\exists,\forall,(,),=,$ and the variables, and the non-logical symbol $\in$. Curly braces and $\vert$ are not part of the syntax.

That said, there is a statement expressible in the language of ZFC which essentially does the same job - namely, the axiom of extensionality (which, per the name, is part of ZFC). This says $$\forall a\forall b(a=b\leftrightarrow \forall c(c\in a\leftrightarrow c\in b)),$$ that is, two sets are the same iff they have the same elements. In this sense one may reasonably claim that ZFC does indeed prove that every set is the set of its own elements, but we have to recognize that there's some abuse of notation/terminology going on here.


A couple comments:

  • First, there's actually a fair amount of flexibility in how we set up the syntax of first-order logic. I've included several Boolean operations ($\wedge,\vee,\neg,\rightarrow,\leftrightarrow$) as primitive, but we don't need to - $\wedge$ and $\neg$ alone, for example, would suffice, or we could use the Sheffer stroke. Similarly, we don't need both $\exists$ and $\forall$. What precise presentation one wants depends on one's purposes: having more primitive symbols makes things easier to write down, but also makes some proofs more annoying by generating more cases. (More interestingly, "$=$" was historically not always considered part of the logical apparatus of first-order logic.)

  • Second, note that it's a little unfair to bring up extensionality here since without extensionality set-builder notation doesn't even make sense. Namely, we want to understand "$\{x\vert \varphi(x)\}$" as defining at most one set, but what if there happen to be two distinct sets $a,b$ such that their elements are each everything satisfying $\varphi$? In the absence of extensionality, this could happen - so does $\{x:\varphi(x)\}$ correspond to $a$ or to $b$? Set-builder notation is no longer ambiguous if extensionality fails. So really, I would say that this is a vacuous situation: even ignoring the formal syntax issue, the expression you're looking at doesn't even make sense unless we assume extensionality, in which case it's trivially true.

Noah Schweber
  • 245,398
  • 1
    This is a good answer to a question that may or may not be what OP meant. I suspect that what they actually meant is not actually about syntax but about whether it is valid to "define" a set circularly by $A={x:x\in A}$. – Eric Wofsey Aug 13 '19 at 07:22
  • 1
    @EricWofsey That's a fair point - I didn't read it that way, but now that you mention it that's very plausible. (You might add that to your comment to the OP - I think that might clarify for them how they should further explain the question.) – Noah Schweber Aug 13 '19 at 07:24
  • Since I never read a rigorous/formal book on ZFC, I really appreciate this answer. It will serve as my goto resource/quick review of the grammar. (+1) – CopyPasteIt Aug 13 '19 at 07:29
  • previously, I just want ask about the syntax. After reading Eric's answer, I'm also curious about the validity of circular definition, so can we define a set circularly? – Lin Xuelei Aug 13 '19 at 08:35
  • @LinXuelei Read my post linked at the top of the answer. When we write a definition, there's an implied claim of existence and uniqueness. E.g. "Let $A$ be the set defined by $A={x\vert x\in A}$" has the implicit claim "There is exactly one set $A$ satisfying $A={x\vert x\in A}$," which is clearly false, so that is an invalid deifnition. On the other hand, there are apparently-circular definitions which are valid - e.g. $A={x\vert x\in A\rightarrow x\not\in A}$ is valid, since there is one and only one set with this property (namely, $\emptyset$). – Noah Schweber Aug 13 '19 at 10:35
  • That said, it's generally much easier to check whether a clearly non-circular definition is actually valid; for example, ZF proves that ${x\in A\vert\varphi(x)}$ (appropriately rephrased in the right syntax) always defines a set regardless of $\varphi$. Moreover, the proof that an apparently-circular definition is actually valid will generally yield a clearly non-circular alternate definition of the same set. So it's good practice, even if not logically necessary, to restrict attention to clearly non-circular definitions. – Noah Schweber Aug 13 '19 at 10:38
  • It might help to think of definitions in a simpler context. In the context of the real numbers, "Let $x$ be defined by $x^2=-1$" and "Let $x$ be defined by $x^2=4$" are each invalid definitions, the former failing the existence criterion and the latter failing the uniqueness criterion. Essentially the same thing is going on here, it's just that sets are more abstract. It might help to think of a putative definition as an "equation about sets," which we need to show has exactly one "solution" in order to actually be a valid definition. – Noah Schweber Aug 13 '19 at 10:42
0

Informally, whenever you use the set builder notation and want to give the 'built' set a name, say $C$, you write

$$\tag 1 C := {\displaystyle \{x\mid \Phi (x)\}}$$

Informally, once you assign a set to a letter that letter is an object throughout the remainder of the exposition/argument.

The OP already has a letter $A$ reserved for some set. Informally, they can write

$$\tag 2 B := \{x|x\in A\}$$

and claim that $B = A$.


In the programming language Python we use

== for =

and

= for :=

CopyPasteIt
  • 11,366
  • 1
    But you can also write the equation $A={x\mid x\in A}$ when you want to prove that every set is also a class, because every set is equal to the class it defines as a parameter. – Asaf Karagila Aug 13 '19 at 08:41
0

If you take set builder notation to translate to a first order formula via $$X=\{x|P(x)\} ≡ ∀x. (x∈X⇔P(x))$$

and with $P(x)$ denoting $x\in X$, then your question is answered positively by the observation that there's nothing wrong with

$$∀x. (x∈X⇔x∈X).$$

It's even true. Although your question doesn't speak about provability, just about expression.
You can also introduce extra notations narrowing down on any axioms and you still got a first-order theory with equality $=$.

Since other answers also pointed towards various related bits of information, and since you're in search of restrictions, one may note that in standard the Axiom_schema_of_specification, $$\forall X.\,\exists Y.\,\forall x.(x\in A\Leftrightarrow \phi(x, A))$$ the the term variable $B$ ought to be not free in the predicate $\phi$.

Nikolaj-K
  • 12,249