Parameters in the ZFC axioms

I am beginning to learn axiomatic set theory from Krysztof Cieselski's Set Theory for the Working Mathematician. In laying out the axiom schemata of comprehension and replacement, Cieselski makes use of parameters. For example, the axiom of comprehension is:

For every formula $\phi(s,t)$ with free variables $s$ and $t$, for every $x$, and for every parameter $p$ there exists a set $y = \{u \in x \colon \phi(u,p) \}$ that contains all those $u \in X$ that have the property $\phi$: $$\forall x \forall p \exists y [\forall u (u \in y \leftrightarrow (u \in x \& \phi(u,p)))].$$ I'm trying to understand the function of the parameter $p$ here. Halmos' book simply has:

To every set $A$ and to every condition $S(x)$ there corresponds a set $B$ whose elements are exactly those elements $x$ of $A$ for which $S(x)$ holds.

The parameter $p$ could be absorbed into $\phi$ to create a new property $\phi_p(x) = \phi(x,p)$, so it is not strictly necessary. My guess is that the parameter is used to keep the schema countable, as there are countably many formulas with free variables, but there are potentially uncountably many parameters $p$. Is this accurate? Or is there something more subtle going on?

There is indeed something more subtle going on: there might be sets in the universe (that is, things we could use as parameters) which aren't definable! Indeed, if you think about it for a bit, there should be - there are only countably many definitions, but uncountably many sets. (Interestingly this argument doesn't hold as much water as it really should, but I'd argue that it's still "morally" true; however, my ethics have been questioned before.)

So we can't write an axiom for each parameter, because (probably) "most" parameters aren't definable, so we'd miss them. Instead, we write a single axiom saying $$\mbox{For every parameter p, [stuff happens]},$$ and this covers our bases without having to name every $p$ specifically.

• I think the argument works just fine for $V$. It may not work as well in an arbitrary model, but that is just Skolem's paradox with some window dressing. An arbitrary model cannot enumerate its own definitions, while $V$ can. – tomasz Dec 2 '16 at 17:47
• @tomasz Sure, if you believe in $V$ . . . :P – Noah Schweber Dec 2 '16 at 17:50

We might try to define set intersection of two sets $a$ and $b$ like this: $$\tag1a\cap b:=\{\,u\in a:u\in b\,\}.$$ As long as $b$ is a very "explicit" set, we might be able to replace $u\in b$ with a simple predicate $\phi(u)$. But we do not wan that restriction; instead of defining the intersection only for the case when the second set is what I just called explicit, we want to be able to talk about intersection of arbitrary sets.

There are a couple of points to be made here:

1. Note that your formula $\phi_{p}$ is not in the language of set theory $L_{\in} = \{ \in \}$, but instead makes use of a constant symbol $p$. Since we want to allow any parameters $p$ in our schemes, this approach would require us to define a constant symbol $c_p$ for every possible parameter $p$, which leads to some sort of 'chicken or the egg'-dilemma. See the comments below.
2. Let $\operatorname{ZFC}^0$ be the version of $\operatorname{ZFC}$ where we don't allow parameters. It turns out that $\operatorname{ZFC}$ and $\operatorname{ZFC}^0$ are in fact equivalent. So we don't actually need any parameters. See here.
3. Using paramaters is a very natural thing to do - especially for mathematicians outside of set theory ($\dagger$): Let, for example, $f \colon \mathbb R \to \mathbb R$ be a smooth function. When we define its derivative $f' \colon \mathbb R \to \mathbb R$, we naturally take $f$ (and $\mathbb R$) as a parameter. This applies for all kinds of mathematical arguments.
4. ...

($\dagger$): Let me clarify. Set theorists use parameters as much as any other mathematician. What I meant to say is that a set theorist is more likely to know about item 2. and thus know that she could, if she wanted to, avoid using parameters. (She still wouldn't, though.)

• I don't think 1 is really on the right track - the axioms allow $p$ to range over all sets, so we can't avoid this by adding constant symbols: we'd (a) have to add a lot of constant symbols, and (b) have to say that every set corresponded to a constant symbol, which you can't do in first-order logic (compactness). – Noah Schweber Dec 2 '16 at 17:44
• @NoahSchweber That's the 'it's easier to just allow parameters' part. We could always identify our universe with an isomorphic copy, say $V := \{ (0, x) \mid x = x \}$, and then associate a canonical class of constants symbols $C := \{ (1,x) \mid x = x \}$, representing $(0,x)$ by the constant symbol $(1,x)$... This isn't first order, but can be easily done in our 'meta-theory'. – Stefan Mesken Dec 2 '16 at 17:47
• Yes, but now you have one theory per model of set theory. At this point we're not defining a set theory, and describing the class of $V$s we're looking at in the first place . . . requires us to go back to ZFC! – Noah Schweber Dec 2 '16 at 17:50
• @Noah I don't see how this is any more of an issue than our referral to schemes in the first place (arguing in our meta-theory). If a proper class of constant symbols seems troubling, we could also restrict ourselfs to a countable set of constant symbols and remap those appropriately in any given proof. – Stefan Mesken Dec 2 '16 at 17:59
• My point is that if you want to name every element of the model under consideration by a constant, then you don't have one set theory - you have a different set theory, in a different language, for each model you care about (and indeed the same underlying model of set theory has many different interpretations in this language, depending how you interpret the constant symbols). But how do you define the class of models that you care about? Well, they're the ones satisfying ZFC! Adding constant symbols is a terrible way to try to get around quantifying over parameters. – Noah Schweber Dec 2 '16 at 18:00