0

Naive set-builder notation includes expressions that don't denote a set (in ZFC), like $\{ x \mathop| \top \}$. I'm wondering if we can do something extremely silly and ad hoc and just say by fiat that such expressions refer to a dedicated error value set $E$. Do we end up with a consistent theory (assuming that ZFC is consistent)?


This question is similar to this one, but I am deliberately making an odd choice for the semantics of set builder notation. Set-builder notation is not part of the syntax of ZFC, but is a bit of notation defined on top of the core theory and justified by the axiom schema of specification, which gives us existence under certain circumstances, and axiom of extensionality, which gives us uniqueness. I'm going to treat it informally as a core bit of syntax in an extended theory. For the purposes of this question, I'm thinking of set builder notation as a core bit of syntax that creates new terms, similar to a function symbol.


Let $E$ be a propertyless constant symbol in the theory of sets. Intuitively, it is an error value, but it is a set, not an urelement or a proper class.

Let $\{ t(\vec{x}) \mathop| \varphi(\vec{x}) \}$ be an expression in set-builder notation where $t(x)$ is a term with $\vec{x}$ as a sequence of free variables and $\varphi(x)$ is a formula with $x$ as a sequence of free variables.

Some expressions in set-builder notation do not name sets in ZFC, for example.

$$ \{ x \mathop| \top \} \;\; \text{is not a set in ZFC} $$

$$ \{ x \mathop| x \not\in x \} \;\; \text{is not a set in ZFC} $$

I'm wondering whether it's possible to make set-builder notation total in a certain sense by saying that any instance of it that would fail to name a set instead refers to $E$.

$$ \{ x \mathop| \top \} = E \;\; \text{because there is no universal set} $$

I've tried to come up with an additional pair of axiom schemas based on the axiom schema of specification that captures this new property. These axiom schemas do not replace the axiom schema of specification; they are additional and possibly redundant axiom schemas.

Every predicate has at most one set equal to its extension.

$$ \forall w_1 w_n \mathop. \exists_{\le 1} B \mathop. \forall x \mathop. (x \in B \leftrightarrow \varphi(x, w_1, w_n)) $$

A term using set-builder notation is equal to $E$ if-but-not-only-if it has no extension as a set. The outermost connective can't be a biconditional because of $\{ x \mathop| x \in E \}$.

$$ \forall w_1 w_n \mathop. (\nexists B \mathop. \forall x \mathop. (x \in B \leftrightarrow \varphi(x, w_1, w_n)) \to \{z \mathop| \varphi(z, w_1, w_n) \} = E ) $$

Greg Nisbet
  • 11,657

2 Answers2

1

It seems like you can make the following adjustments to ZF(C) to make this work.

  1. For all the normal axioms of ZF, make sure the quantifiers range over non-E things. EG $\exists x P(x)$ becomes $\exists x (x \neq E \land P(x))$ and $\forall x P(x)$ becomes $\forall x (x \neq E \to P(x))$.
  2. Add the axiom scheme $\forall u_1 \forall u_2 ... \forall u_n [\exists y (\forall x (P(x, u_1, ..., u_n) \iff x \in y)) \iff \{x | P(x, u_1, ..., u_n)\} \neq E]$, where $u_1, u_2, ..., u_n, x, y$ range over non-$E$ things.
  3. Add the axiom scheme $\forall u_1 \forall u_2 ... \forall u_n [\exists y (\forall x (P(x, u_1, ..., u_n) \iff x \in y)) \iff \forall v (v \in \{x | P(x, u_1, ..., u_n)\} \iff P(v, u_1, ..., u_n))]$ where $u_1, u_2, ..., u_n, v, y, x$ range over non-$E$ things.

It seems like a pretty straight-forward relative consistency proof at this point. Start with a model of ZF and add a single element $E$. It should be easy to verify the axioms hold in the new model. However, I wouldn't recommend this.

The most elegant way to do something like what you're trying to do is with classes. The idea is that every piece of notation $\{x | P(x)\}$ defines a class*, but not all classes are sets. One can then say things like "$\{x | \top\}$ is not a set" directly in the theory.

The most well-known class-based theory is NBG set theory. NBG has the nice property that it's a "conservative extension of ZFC". This means the following:

  1. All statements made in ZFC can be translated into statements made in NBG.
  2. A statement can be proved in ZFC if, and only if, its translation can be proved in NGB.

This means that working in NGB is perfectly compatible with working in ZFC.

*as long as all quantifiers in P(x) range only over sets and not over classes

Mark Saving
  • 31,855
1

There is actually a very general version of this which works for any first-order theory $T$ with the additional property that there is some formula $\varphi$ such that $T\vdash\exists!x\varphi(x)$. (This $\varphi$ will pick out the "default value" - this is different from Mark Saving's answer, where the "default value" is considered a "new" object, but this is really superficial and which approach is more natural will depend on context.)

Specifically, we work with a variant of Hilbert's $\tau$ operator$^1$ (which I swear I've seen before but can't find at the moment). Suppose $T,\varphi$ are as above. To the usual syntax of first-order logic we add a new term-forming-symbol $\digamma$, and to $T$ we add the following additional rules:

  • From $\exists!x\psi(x)$ infer $\psi(\digamma(\psi(x)))$.

  • From $\neg(\exists!x\psi(x))$ infer $\varphi(\digamma(\psi(x)))$.

Basically, $\digamma$ picks out the unique object with a property if such an object exists, and otherwise defaults to the unique thing satisfying $\varphi$. (I'm being rather sloppy here, specifically around the handling of free variables/parameters, but there's nothing subtle going on.) This modification is conservative in the sense that models of $T$ in the usual sense corresponds exactly to models of $T$ in this enriched sense (= the behavior of $\digamma$ is completely determined by the rules we've added governing it; basically, this is a "one-level-higher" version of an expansion by definitions). In the particular case of $\mathsf{ZFC}$ or similar, in fact, something even nicer happens: we can expand the separation and replacement schemes to include formulas using the new $\digamma$ syntax without changing the power of the theory!

In the case you're interested in, we're specifically looking at formulas $\psi(x)$ of the form $$\psi(x)\equiv x=\{y: \xi(y)\},$$ or more precisely of the form $$\psi(x)\equiv\forall y(y\in x\leftrightarrow\xi(y)).$$ Extensionality says that at most one such $x$ exists, so $\digamma$ does what we want it to. (Note that $\digamma$ applies more broadly than that of course.)

Note that the uniqueness condition was in fact crucial: the full $\tau$ operator is more fragile. While it remains conservative in an appropriate sense, it is no longer the case that we can safely expand the separation/replacement schemes of $\mathsf{ZF}$ without getting any new theorems: the "$\tau$-schematic" version of $\mathsf{ZF}$ proves the axiom of choice, and indeed the (scheme version of) global choice.


$^1$Actually Hilbert used "$\epsilon$," not "$\tau$" (which was introduced for an essentially-equivalent operator by Bourbaki), but "$\epsilon$" in th

Noah Schweber
  • 245,398
  • I really like the $\digamma$ construction, since it lets avoid promoting set-builder notation to "core syntax" and offloads the work for managing multiple bound variable inside a set-buildery term. Does $\digamma$ have an implicit subscript for its variable? – Greg Nisbet Mar 13 '21 at 07:50