# What is the scope of a variable in set-building notation?

Let's take a set builder notation, if I define a set {$$x$$|$$x$$∈N} Is the scope of the variable supposed to be limited to the set-builder notation?

Would using $$x$$ again imply that the second use of $$x$$ is new variable, and different to the first, because the scope of $$x$$ in set builder notation is limited to it?

Is it more formally correct to define new variables for use in set-builder notation? Would this imply that re-using symbols is a sort of abuse of notation?

The variables inside the set definition are dummy ones.

For instance if you define the set $$S=\{a\mid \exists x\in\mathbb N, a=x^2\}$$

Then $$x\in S$$ means $$x$$ is a square integer, i.e. it is actually the '$$a$$' from the inner statement, and not the '$$x$$' of the same statement.

Of course it is always preferable to keep consistent notations for understanding, same as you would probably rather not work with the complex number $$y+ix$$ (unless you are masochistic). It's not forbidden, but so error prone...

• So if I were to previously define $x∈N$ and then use $x$ in a set-building notation then it would be a slightly confusing as $x$ is a sort of quantity in one case, and a 'dummy' variable in the second case, so it's better to define a new variable for either one of them.
– user1096856
Commented Sep 20, 2022 at 19:39
• I think so yes, now it also depends of the context, if the problem already uses a lot of different letters and you are coming short of new names, probably you'll be forced to do some 'reuse' at some point.
– zwim
Commented Sep 21, 2022 at 20:04
• I think I will, because it's a case that in definitions we see $x$ and $y$ as existing only in he definition, so for convenience we re-use them but we probably shouldn't, if we explicitly define a variable $a$ which we want to serve some purpose.
– user1096856
Commented Sep 21, 2022 at 20:47

In logic, set builder (or, set abstraction) operator is syntactically a variable-binding term operator.

Variable-binding term operators constitute a class by themselves: They form terms from terms like functions, but differ from them in that functions do not bind variables. Like quantifiers, variable-binding term operators bind variables, but differ from them in that quantifiers operate on formulas, not on terms. Russell's definite description operator $$\iota$$ (originally, inverted iota) and Hilbert's $$\epsilon$$ operator are examples from logic. See also the Wikipedia article for mathematical examples.

The usual notation for set builder/abstraction operator is $$\{\;\mid\;\}$$ or $$\{\;:\;\}$$. In order to display its logical form, it may be helpful to represent it as $$\sigma x\phi(x)$$ in which $$\phi$$ is a formula defining the comprehension of the set. Thus, for example,

$$\{x\mid x\in\mathbb{N}\}$$

can be represented as $$\sigma x(x\in\mathbb{N})$$

The occurrences of the variable $$x$$ have distinct syntactic roles. In the first occurrence, $$x$$ is a constituent of the operator prefix $$\sigma x$$, and in the second occurrence, it is a constituent of the matrix $$(x\in\mathbb{N})$$, which is an open formula.

Hence, $$\sigma y(y\in\mathbb{N})$$, $$\sigma z(z\in\mathbb{N})$$ (and so on with other variable symbols in the language so long as a clash of variables is avoided), are merely alphabetic variations of the same closed term.

• Another important example of a variable-binding term operator would be the $\lambda$ operator from lambda calculus - though there's a difference in this case in that it takes a term formula as its body, whereas the set builder, $\iota$, Hilbert $\epsilon$ take a propositional formula as their respective bodies. Commented Sep 20, 2022 at 21:38