# Cut elimination for Zermelo set theory

Gilles Dowek, Alexandre Miquel

► To cite this version:

Gilles Dowek, Alexandre Miquel. Cut elimination for Zermelo set theory. 2007. hal-04259500v2

HAL Id: hal-04259500

https://inria.hal.science/hal-04259500v2

Preprint submitted on 30 Oct 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Cut elimination for Zermelo set theory

Gilles Dowek¹ and Alexandre Miquel²

¹ École polytechnique and INRIA
LIX, École polytechnique, 91128 Palaiseau Cedex, France
Gilles.Dowek@polytechnique.edu

² Université Paris 7,
PPS, 175 Rue du Chevaleret, 75013 Paris, France
Alexandre.Miquel@pps.jussieu.fr

**Abstract.** We show how to express intuitionistic Zermelo set theory in deduction modulo (i.e. by replacing its axioms by rewrite rules) in such a way that the corresponding notion of proof enjoys the normalization property. To do so, we first rephrase set theory as a theory of pointed graphs (following a paradigm due to P. Aczel) by interpreting set-theoretic equality as bisimilarity, and show that in this setting, Zermelo's axioms can be decomposed into graph-theoretic primitives that can be turned into rewrite rules. We then show that the theory we obtain in deduction modulo is a conservative extension of (a minor extension of) Zermelo set theory. Finally, we prove the normalization of the intuitionistic fragment of the theory.

The cut elimination theorem is a central result in proof theory that has many corollaries such as the disjunction property and the witness property for constructive proofs, the completeness of various proof search methods and the decidability of some fragments of predicate logic, as well as some independence results.

However, most of these corollaries hold for pure predicate logic and do not generally extend when we add axioms, because the property that cut-free proofs end with an introduction rule does not generalize in the presence of axioms. Thus, extensions of the normalization theorem have been proved for some axiomatic theories, for instance arithmetic, simple type theory [11, 12] or the so-called stratified foundations [4]. There are several ways to extend normalization to axiomatic theories: the first is to consider a special form of cut corresponding to a given axiom, typically the induction axiom. A second is to transform axioms into deduction rules, typically the $\beta$-equivalence axiom. A third way is to replace axioms by computation rules and consider deduction rules modulo the congruence generated by these computation rules [5, 7].

Unfortunately, extending the normalization theorem to set theory has always appeared to be difficult or even impossible: a counter example, due to M. Crabbé [3] shows that normalization does not hold when we replace the axioms of set theory by the obvious deduction rules, and in particular the Restricted Comprehension axiom by a deduction rule allowing to deduce the formula $a \in b \wedge P(x \leftarrow a)$ from $a \in \{x \in b \mid P\}$ and vice-versa. In the same way,
normalization fails if we replace the comprehension axiom by a computation rule rewriting $a \in \{x \in b | P\}$ to $a \in b \wedge P(x \leftarrow a)$. Calling $C$ the set $\{x \in A | \neg x \in x\}$ the formula $C \in C$ rewrites to $C \in A \wedge \neg C \in C$ and it is not difficult to check that the formula $\neg C \in A$. This counterexample raises the following question: is the failure of normalization an artifact of this particular formulation of set theory, or do all formulations of this theory have a similar property?

More recently, interpretations of set theory in type theory have been proposed [18–20] that follow P. Aczel’s “sets as pointed graphs” paradigm [1] by interpreting sets as pointed graphs and extensional equality as bisimilarity. One remarkable feature about these translations is that they express set theory in a framework that enjoys normalization. Another is that although the formulæ $a \in \{x \in b | P\}$ and $a \in b \wedge P(x \leftarrow a)$ are provably equivalent, their proofs are different. This suggests that the failure of normalization for set theory is not a property of the theory itself, but of some particular way to transform the axioms into deduction or computation rules.

In the type theoretic interpretation of set theory where sets are translated as pointed graphs, the membership relation $\in$ is no longer primitive, but defined in terms of other atomic relations such as the ternary relation $x \eta_a y$ expressing that two nodes $x$ and $y$ are connected by an edge in a pointed graph $a$.

In this paper, we aim at building a theory of pointed graphs in predicate logic—that we call $\mathbb{I}Z^{\text{mod}}$—which is expressive enough to encode set theory in a conservative way. For that, we start from a simple extension of intuitionistic Zermelo set theory (without foundation) called $\mathbb{I}Z^{\text{st}}$, namely, Zermelo set theory with the axioms of Strong Extensionality and Transitive Closure.

Instead of expressing the theory $\mathbb{I}Z^{\text{mod}}$ with axioms, we shall directly express it with computation rules. It is well-known [5] that any theory expressed with computation rules can also be expressed with axioms, replacing every computation rule of the form $l \rightarrow r$ by the axiom $l = r$ when $l$ and $r$ are terms, or by the axiom $l \Leftrightarrow r$ when $l$ and $r$ are formulæ. Expressing this theory with rewrite rules instead of axioms makes the normalization theorem harder to prove but is a key element for the cut-free proofs to end with an introduction rule. To prove our normalization theorem, we shall use two main ingredients: reducibility candidates as introduced by J.-Y. Girard [11] to prove normalization for higher-order logic, and the forcing/realizability method, following [4, 6].

# 1 Deduction modulo

In deduction modulo, the notions of language, term and formula are that of first-order predicate logic. But, a theory is formed with a set of axioms $\Gamma$ and a congruence $\equiv$ defined on formulæ. Such a congruence may be defined by a rewrite systems on terms and on formulæ. Then, the deduction rules take this congruence into account. For instance, the *modus ponens* is not stated as usual

$$ \frac{A \Rightarrow B \quad A}{B} $$
as the first premise need not be exactly $A \Rightarrow B$ but may be only congruent to this formula, hence it is stated

$$ \frac{C}{B} \frac{A}{\quad} \text{if } C \equiv A \Rightarrow B $$

All the rules of natural deduction may be stated in a similar way. See, for instance, [7] for a complete presentation.

For example, arithmetic can be defined by a congruence defined by the following rewrite rules

$$ \begin{array}{l@{\qquad}l} 0 + y \longrightarrow y & 0 \times y \longrightarrow 0 \\ S(x) + y \longrightarrow S(x + y) & S(x) \times y \longrightarrow x \times y + y \end{array} $$

and some axioms, including the identity axiom $\forall x (x = x)$. In this theory, we can prove that the number 4 is even

$$ \begin{array}{l@{\qquad}l} \frac{\Gamma \vdash \forall x \; x = x}{\Gamma \vdash \exists x \; 2 \times x = 4} & \text{axiom} \\ & (x, x = x, 4) \quad \forall\text{-elim} \\ & (x, 2 \times x = 4, 2) \quad \exists\text{-intro} \end{array} $$

Substituting the term 2 for the variable $x$ in the formula $2 \times x = 4$ yields $2 \times 2 = 4$, that is congruent to $4 = 4$. The transformation of one formula into the other, that requires several proof steps in usual formulation of arithmetic, is dropped from the proof in deduction modulo.

Deduction modulo allows rules rewriting terms to terms, but also atomic formulæ to arbitrary ones. For instance

$$ x \times y = 0 \longrightarrow x = 0 \lor y = 0 $$

When we take the rewrite rules above, the axioms of addition and multiplication are not needed anymore as, for example, the formula $\forall y 0 + y = y$ is congruent to the axiom $\forall y y = y$. Thus, rewrite rules replace axioms.

This equivalence between rewrite rules and axioms is expressed by the *equiv*-alence lemma, which says that for every congruence $\equiv$ we can find a theory $\mathcal{T}$ such that $\Gamma \vdash A$ is provable in deduction modulo the congruence $\equiv$ if and only if $\mathcal{T}, \Gamma \vdash A$ is provable in ordinary first-order predicate logic [5]. Hence, deduction modulo is not a true extension of predicate logic, but rather an alternative formulation of predicate logic. Of course, the provable formulæ are the same in both cases, but the proofs are very different.

## 2 Variations on axiomatic Set Theory

In this section, we define the theory $\mathbb{I}Z^{\text{st}}$. This theory is Zermelo set theory extended with two axioms: the Strong Extensionality axiom (which replaces the standard Extensionality axiom of set theory) and the Transitive Closure axiom. In Zermelo-Fraenkel set theory with the Foundation axiom, the Strong
Extensionality axiom can be derived from the Foundation axiom, but it is weaker. Similarly, the Transitive Closure axiom is a consequence of the Replacement scheme, but it is weaker.

Since the theory $\mathbb{Z}^\text{st}$ is expressed in the standard existential way, we also define two conservative extensions of $\mathbb{Z}^\text{st}$ plus a non-conservative extension. The first extension of $\mathbb{Z}^\text{st}$ is a theory called $\mathbb{Z}^\text{class}$ obtained by adding a conservative notion of class à la Von Neumann-Bernays-Gödel. The second extension, called $\mathbb{Z}^\text{skol}$, is built from the latter by adding Skolem symbols to denote sets and class, including notations to denote sets and class defined by comprehension. As we shall see in section 4, such a conservative extension of the language of set theory is convenient to define the translation which maps formulæ of the language $\mathbb{Z}^\text{mod}$ of pointed graphs back to the language of set theory.

The final extension, called $\mathbb{Z}^\text{skol2}$, is an extension of $\mathbb{Z}^\text{skol}$ with impredicative classes that will be used in section 5. This extension of $\mathbb{Z}^\text{skol}$ is nothing but a skolemized presentation of second order Zermelo set theory with strong extensionality and transitive closure.

## 2.1 The theory $\mathbb{Z}^\text{st}$

**Definition 1 (The theory $\mathbb{Z}^\text{st}$).** The theory $\mathbb{Z}^\text{st}$ is expressed in predicate logic. Its language is the language of first-order predicate logic formed with two binary predicate symbols = and $\in$, and its axioms are given in Table 1.

We use the standard abbreviations:

$$a \subseteq b \quad \equiv \quad \forall x (x \in a \Rightarrow x \in b)$$

$$\text{Empty}(a) \quad \equiv \quad \forall x \neg(x \in a)$$

$$\text{Succ}(a, b) \quad \equiv \quad \forall x (x \in b \Leftrightarrow (x \in a \lor x = a))$$

$$\text{Ind}(c) \quad \equiv \quad \forall a (\text{Empty}(a) \Rightarrow a \in c) \land \forall a (a \in c \Rightarrow \forall b (\text{Succ}(a, b) \Rightarrow b \in c))$$

$$\text{Nat}(a) \quad \equiv \quad \forall b (\text{Ind}(b) \Rightarrow a \in b)$$

Notice that in $\mathbb{Z}^\text{st}$ the standard formulation of the Extensionality axiom is a consequence of the axiom of Strong Extensionality:

**Proposition 1.** — In $\mathbb{Z}^\text{st}$, the following formula is provable:

$$(\text{Extensionality}) \qquad \forall a \forall b (\forall x (x \in a \Leftrightarrow x \in b) \Rightarrow a = b).$$

*Proof.* Using the instance of strong extensionality where the formula $R(x, y)$ is $(x = a \land y = b) \lor x = y$. $\square$

## 2.2 A conservative extension with a sort for classes

**Definition 2 (The theory $\mathbb{Z}^\text{class}$).** The theory $\mathbb{Z}^\text{class}$ is expressed in many-sorted predicate logic. It has two sorts Set and Class. Its language is formed with two binary predicate symbols = and of rank $\langle \text{Set}, \text{Set} \rangle$ and a binary predicate symbol mem of rank $\langle \text{Set}, \text{Class} \rangle$. The axioms of the theory $\mathbb{Z}^\text{class}$ are
<table><caption>**Table 1.** Axioms of the theory IZ<sup>st</sup></caption>
  <tr>
    <td>(Reflexivity)</td>
    <td>∀x (x = x)</td>
  </tr>
  <tr>
    <td>(Equ. Compat.)</td>
    <td>∀x∀x'∀y (x = x' ∧ x = y ⇒ x' = y)</td>
  </tr>
  <tr>
    <td>(Mem. Left Compat.)</td>
    <td>∀x∀x'∀y (x = x' ∧ x ∈ y ⇒ x' ∈ y)</td>
  </tr>
  <tr>
    <td>(Mem. Right Compat.)</td>
    <td>∀x∀y∀y' (y = y' ∧ x ∈ y ⇒ x ∈ y')</td>
  </tr>
  <tr>
    <td>(Strong Extensionality)</td>
    <td>
      ∀x<sub>1</sub> ... ∀x<sub>n</sub> ∀a ∀b<br>
      (R(a, b)<br>
      ∧ ∀x∀x'∀y (x' ∈ x ∧ R(x, y) ⇒ ∃y' (y' ∈ y ∧ R(x', y')))<br>
      ∧ ∀y∀y'∀x (y' ∈ y ∧ R(x, y) ⇒ ∃x' (x' ∈ x ∧ R(x', y')))<br>
      ⇒ a = b)
    </td>
  </tr>
  <tr>
    <td></td>
    <td>for each formula R(x, y) whose free variables are among x<sub>1</sub>, ..., x<sub>n</sub>, x and y</td>
  </tr>
  <tr>
    <td>(Pairing)</td>
    <td>∀a∀b∃e∀x (x ∈ e ⇔ x = a ∨ x = b)</td>
  </tr>
  <tr>
    <td>(Union)</td>
    <td>∀a∃e∀x (x ∈ e ⇔ ∃y (x ∈ y ∧ y ∈ a))</td>
  </tr>
  <tr>
    <td>(Powerset)</td>
    <td>∀a∃e∀x (x ∈ e ⇔ x ⊆ a)</td>
  </tr>
  <tr>
    <td>(Restr. Comprehension)</td>
    <td>∀x<sub>1</sub> ... ∀x<sub>n</sub> ∀a∃e∀x (x ∈ e ⇔ x ∈ a ∧ P(x))</td>
  </tr>
  <tr>
    <td></td>
    <td>for each formula P(x) whose free variables are among x<sub>1</sub>, ..., x<sub>n</sub>, a and x</td>
  </tr>
  <tr>
    <td>(Infinity)</td>
    <td>∃e Ind(e)</td>
  </tr>
  <tr>
    <td>(Transitive closure)</td>
    <td>∀a∃e (a ⊆ e ∧ ∀x∀y (x ∈ y ∧ y ∈ e ⇒ x ∈ e))</td>
  </tr>
</table>
- the axioms of equality of $\mathbb{I}Z^{\text{st}}$ and the axiom

$$ \forall x \forall y \forall p (x = y \land \mathrm{mem}(x, p) \Rightarrow \mathrm{mem}(y, p)) $$

- the strong extensionality scheme, generalized to all formulæ possibly containing the symbol mem and free variables of sort Class, but no quantification on classes;

- the pairing axiom, the union axiom, the powerset axiom, the axiom of infinity, the axiom of transitive closure;

- the restricted comprehension scheme, generalized to all formulæ possibly containing the symbol mem and free variables of sort Class, but no quantification on classes;

- and finally, a class comprehension scheme

$$ \exists \alpha \forall x (\mathrm{mem}(x, \alpha) \Leftrightarrow P) $$

for each formula P possibly containing the symbol mem and free variables of sort Class, but no quantification on classes.

All the axioms of $\mathbb{I}Z^{\text{st}}$ are axioms of $\mathbb{I}Z^{\text{class}}$, thus $\mathbb{I}Z^{\text{class}}$ is an extension of $\mathbb{I}Z^{\text{st}}$. To prove that this is a conservative extension, we use a notion of intuitionistic model where formulæ are valuated in a Heyting algebra [22], and we prove that for every intuitionistic model of $\mathbb{I}Z^{\text{st}}$ there is an intuitionistic model of $\mathbb{I}Z^{\text{class}}$ validating the same formulæ of the language of $\mathbb{I}Z^{\text{st}}$. Conservativity follows from the correctness and completeness of intuitionistic logic w.r.t. to its Heyting algebra valuated models.

**Definition 3.** — Let $\mathcal{M}$ be an intuitionistic model of $\mathbb{I}Z^{\text{st}}$, whose domain is still written $\mathcal{M}$ and whose underlying Heyting algebra is written $\mathcal{B}$. A function $E$ from $\mathcal{M}$ to $\mathcal{B}$ is said to be definable if there exists a formula $P$ in the language of $\mathbb{I}Z^{\text{st}}$ whose free variables are among $x, y_1, \dots, y_n$ and elements $b_1, \dots, b_n$ of $\mathcal{M}$ such that for all a $\llbracket P \rrbracket_{a/x, b_1/y_1, \dots, b_n/y_n} = E(a)$.

**Definition 4.** — Let $\mathcal{M}$ be a model of $\mathbb{I}Z^{\text{st}}$, and consider the structure $\mathcal{M}'$ (with the same underlying Heyting algebra $\mathcal{B}$) defined as follows: $\llbracket \text{Set} \rrbracket = \mathcal{M}$ and $\llbracket \text{Class} \rrbracket$ is the set of definable functions from $\mathcal{M}$ to the underlying algebra $\mathcal{B}$. The denotation of the symbols $=$ and $\in$ is the same as in $\mathcal{M}$, and the denotation of the symbol mem is function application.

**Proposition 2.** — The structure $\mathcal{M}'$ is a model of $\mathbb{I}Z^{\text{class}}$.

*Proof.* To prove that $\mathcal{M}'$ is a model of the class comprehension scheme, of the generalized extensionality scheme and of the generalized restricted comprehension scheme, we prove that for any formula $P$ containing no quantifiers on variable of the sort Class and assignment $\phi$, there exists a formula $Q$ in the language of $\mathbb{I}Z^{\text{st}}$ and an assignment $\phi'$ such that for all $a$,

$$ \llbracket P \rrbracket_{\phi+a/x} = \llbracket Q \rrbracket_{\phi'+a/x} $$
We proceed by induction over the structure of $P$. The only non trivial case is when $P = \text{mem}(x, p)$ where $p$ and $x$ are variables. Then, the object $[[p]]_\phi$ is a definable function from $\mathcal{M}$ to $B$. Let $Q$ and $\phi'$ be the defining formula and assignment, for all $a$, we have

$$[[P]]_{\phi+a/x} = [[Q]]_{\phi'+a/x} \quad \square$$

Obviously, a formula of the language of $\mathbb{I}Z^{\text{st}}$ has the same denotation in $\mathcal{M}$ and in $\mathcal{M}'$, hence the conservativity of $\mathbb{I}Z^{\text{class}}$ over $\mathbb{I}Z^{\text{st}}$.

## 2.3 A conservative extension with Skolem symbols

The language of $\mathbb{I}Z^{\text{skol}}$ is the following. Notice that the language of terms expressing sets and classes now contains binding symbols.

**Terms**
$$ t, u ::= x \mid \bigcup t \mid \{t_1, t_2\} \mid \mathfrak{P}(t) \\ \qquad \mid \{x \in t \mid P'\} \mid \mathbb{N} \mid \text{Cl}(t) $$

**Class terms**
$$ T, U ::= X \mid \{x \mid P'\} $$

**Formulæ**
$$ P, Q ::= t = u \mid t \in u \mid \text{mem}(t, T) \\ \qquad \mid \top \mid \bot \mid P \wedge Q \mid P \vee Q \mid P \Rightarrow Q \\ \qquad \mid \forall x P \mid \exists x P \mid \forall x P \mid \exists x P $$

**Restricted formulæ**
$$ P', Q' ::= t = u \mid t \in u \mid \text{mem}(t, T) \\ \qquad \mid \top \mid \bot \mid P' \wedge Q' \mid P' \vee Q' \mid P' \Rightarrow Q' \\ \qquad \mid \forall x P' \mid \exists x P' $$

**Definition 5.** We define three transformations:

- A transformation on terms, which maps each term of $\mathbb{I}Z^{\text{skol}}$ equipped with a variable $z$ to a formula of $\mathbb{I}Z^{\text{class}}$ written $z \in \circ t$;

- A transformation on class terms, which maps each class term $T$ of $\mathbb{I}Z^{\text{skol}}$ equipped with a variable $z$ to a formula of $\mathbb{I}Z^{\text{class}}$ written $\text{mem}^\circ(z, T)$;

- A transformation on formulæ, which maps each formula $P$ of $\mathbb{I}Z^{\text{skol}}$ to a formula of $\mathbb{I}Z^{\text{class}}$ written $P^\circ$.
These transformations are defined by the following equations:

$$
\begin{align*}
z \in {}^\circ x &\equiv z \in x \\
z \in {}^\circ \bigcup t &\equiv \exists y (z \in y \wedge y \in {}^\circ t) \\
z \in {}^\circ \{t_1, t_2\} &\equiv (z = t_1)^{} \circ \vee (z = t_2)^{} \circ \\
z \in {}^\circ \mathfrak{P}(t) &\equiv \forall y (y \in z \Rightarrow y \in {}^\circ t) \\
z \in {}^\circ \{x \in t \mid P'\} &\equiv z \in {}^\circ t \wedge P'({}^\circ x \leftarrow z) \\
z \in {}^\circ \mathbb{N} &\equiv \mathrm{Nat}(z) \\
z \in {}^\circ \mathrm{Cl}(t) &\equiv \forall x [\forall y_1 \forall y_2 (y_1 \in y_2 \wedge y_2 \in x \Rightarrow y_1 \in x) \wedge \\
&\phantom{\forall x [} \forall y (y \in {}^\circ t \Rightarrow y \in x) \Rightarrow z \in x]
\end{align*}
$$

$$
\mathrm{mem}^{\circ}(z, X) \quad \equiv \quad \mathrm{mem}(z, X)
$$

$$
\mathrm{mem}^{\circ}(z, \{x \mid P'\}) \equiv P'^{\circ}(x \leftarrow z)
$$

$$
(t = u)^{\circ} \quad \equiv \quad \forall z \ (z \in^{\circ} t \Leftrightarrow z \in^{\circ} u)
$$

$$
(t \in u)^{\circ} \quad \equiv \quad \exists x \left( (x = t)^{\circ} \wedge x \in^{\circ} u \right)
$$

$$
(\mathrm{mem}(t, U))^{\circ} \quad \equiv \quad \exists x \left( (x = t)^{\circ} \wedge \mathrm{mem}^{\circ}(x, U) \right)
$$

$$
(P \wedge Q)^{\circ} \quad \equiv \quad P^{\circ} \wedge Q^{\circ} \\
\text{etc.}
$$

$$
(\forall x P)^{\circ} \quad \equiv \quad \forall x P^{\circ}
$$

$$
(\exists x P)^{\circ} \quad \equiv \quad \exists x P^{\circ}
$$

Notice that if P is already in the language of IZ<sup>class</sup>, then the equivalence P ⇔ P<sup>o</sup>
is (intuitionistically) provable in IZ<sup>class</sup>.

The notion of provability in IZ<sup>skol</sup> is defined by IZ<sup>skol</sup> ⊢ P if IZ<sup>class</sup> ⊢ P<sup>o</sup>.
An equivalent solution would be to define provability in IZ<sup>skol</sup> directly from the
expected deduction rules and from the skolemized versions of the axioms of
IZ<sup>class</sup>.

We shall use the following abbreviations:

$$
\emptyset \equiv \{x \in \mathbb{N} \mid \perp\}
$$

$$
X \cup Y \equiv \bigcup \{X, Y\}
$$

$$
\{a\} \equiv \{a, a\}
$$

$$
\langle a, b \rangle \equiv \{\{a\}, \{a, b\}\}
$$

$$
\pi_1(x) \equiv \bigcup \{x_1 \in \bigcup x \mid \exists x_2 \ x \equiv \langle x_1, x_2 \rangle \}
$$

$$
\pi_2(x) \equiv \bigcup \{x_2 \in \bigcup x \mid \exists x_1 \ x \equiv \langle x_1, x_2 \rangle \}
$$

$$
X \times Y \equiv \{z \in \mathfrak{P}(\mathfrak{P}(X \cup Y)) \mid \exists x \exists y (x \in X \wedge y \in Y \wedge z = \langle x, y \rangle\}
$$

$0 \equiv \emptyset$

$$
1 \equiv \{\emptyset\}
$$

$$
f(x) \equiv \bigcup \{y \in \bigcup f \mid \langle x, y \rangle \in f\}
$$

$$
f|_D \equiv \{c \in f \mid \pi_1(c) \in D\}
$$

2.4 Second-order class quantification

The model construction of section 5 (which is devoted to the normalization
proof of IZ<sup>mod</sup>) is not done relatively to the theory IZ<sup>skol</sup>, but relatively to the
extension IZ<sup>skol2</sup> of IZ<sup>skol</sup> in which we drop the restriction on the formulæ that
may be used in set/class comprehension (thus allowing class quantification to appear everywhere in the language).

Of course, $\mathbb{Z}^{\text{skol}2}$ is definitely not a conservative extension of $\mathbb{Z}^{\text{skol}}$. Actually, it is a skolemized presentation of second-order Zermelo set theory (extended with Strong Extensionality and Transitive Closure), which is proof-theoretically stronger than $\mathbb{Z}^{\text{st}}$. However, $\mathbb{Z}^{\text{skol}2}$ has an obvious extensional model in ZF which is defined by setting

$$ [[\text{Set}]] = V_{2\omega} \quad \text{and} \quad [[\text{Class}]] = V_{2\omega+1}, $$

where $(V_\alpha)$ denotes the cumulative hierarchy (indexed by ordinals).

## 2.5 Projective classes

Let $A$ be class defined by a formula $A(x)$ with at most one free variable $x$, and $\phi(x, y)$ a formula with at most two free variables $x$ and $y$. We say that $\phi$ is a projection onto $A$ if the following formulæ are provable:

$$ 1. \forall x \exists y \phi(x, y) $$

$$ 2. \forall x \forall y \forall y' (\phi(x, y) \wedge \phi(x, y') \Rightarrow y = y') $$

$$ 3. \forall x (A(x) \Rightarrow \phi(x, x)) $$

$$ 4. \forall x \forall y (\phi(x, y) \Rightarrow A(y)) $$

A class $A$ is projective if there is a projection $\phi$ onto $A$. Notice that in classical set theory every nonempty class $A$ is projective, by taking

$$ \phi(x, y) \equiv (A(x) \wedge y = x) \vee (\neg A(x) \wedge y = a) $$

where $a$ is an arbitrary object such that $A(a)$. In intuitionistic set theory, it is not the case anymore. In some case, the formula $\phi(x, y)$ can be written $y = t(x)$ for some term $t$ with at most one free variable $x$. In this case, conditions 1 and 2 vanish, and conditions 3 and 4 are rephrased as:

$$ 3'. \forall x (A(x) \Rightarrow t(x) = x) $$

$$ 4'. \forall x A(t(x)) $$

In what follows, the term $t(x)$ will be written $\lfloor x \rfloor_A^t$, or simply $\lfloor x \rfloor_A$ when the term $t$ is clear in the context.

# 3 A theory of pointed graphs

## 3.1 Informal presentation

The main definition in this paper is the theory $\mathbb{Z}^{\text{mod}}$ that is a presentation of set theory in deduction modulo with rewrite rules only, i.e. with no axioms. At a first glance, the theory $\mathbb{Z}^{\text{mod}}$ looks more like a theory of pointed graphs, where usual set theoretic notions such as membership and equality are derived notions.
Informally, a pointed graph is just a pair formed with a directed graph and a distinguished node, called the *root* of the pointed graph. In the theory $\mathbb{Z}^{\text{mod}}$, all pointed graphs share the same nodes, but may have different roots and edges. Thus we have a sort $N$ for nodes and a sort $G$ for pointed graphs. The main symbol of the theory is a ternary predicate symbol $\eta$, the formula $x \eta_a y$ expressing that there is an edge from $x$ to $y$ in the pointed graph $a$. We also have a function symbol root mapping each pointed graph to its root.

The easiest way to represent a set as a pointed graph is to represent it as a tree whose root is connected to the roots of the trees representing the elements of the set. For instance, the set $\emptyset$ is represented as a pointed graph with no edges. The set $\{\emptyset\}$ is represented as a tree whose root has one child that has no children, etc.

In the figure below, the pointed graph with no edges and root 1 is a representation of the set $\emptyset$, the pointed graph with root 2 and the plain edge is a representation of the set $\{\emptyset\}$ and the pointed graph with root 4 and the dotted edges is a representation of the set $\{\emptyset, \{\emptyset\}\}$.

<figure><img src="image_2.png" /></figure>

We extend this idea by considering that any pointed graph represents a set, namely, the set of objects represented by all the pointed graphs obtained by shifting the root one level downwards.

Of course, a set may have several and non-isomorphic representations. For instance, the graph with root 2 and plain edges and the graph with root 6 and dotted edges both represent the set $\{\emptyset\}$. To recover the property of extensionality, we have to define equality in such a way to identify these two pointed graphs. Thus set equality is defined as bisimilarity. Introducing a third sort for binary relations on nodes and a predicate symbol rel (such that $\text{rel}(x, y, r)$ means that $x$ and $y$ are related by the relation $r$), we then define $a \approx b$ as

$$ 
\begin{array}{l}
\exists r (\text{rel}(\text{root}(a), \text{root}(b), r)) \\
\quad \wedge \forall x \forall x' \forall y (x' \eta_a x \wedge \text{rel}(x, y, r) \Rightarrow \exists y' (y' \eta_b y \wedge \text{rel}(x', y', r))) \\
\quad \wedge \forall y \forall y' \forall x (y' \eta_b y \wedge \text{rel}(x, y, r) \Rightarrow \exists x' (x' \eta_a x \wedge \text{rel}(x', y', r)))
\end{array}
$$

In deduction modulo, this definition can be handled by introducing a predicate symbol $\approx$ and a rule rewriting the atomic formula $a \approx b$ to this one.

Next, we want to define the membership relation. We first introduce in the language a binary function symbol $/$ associating a pointed graph to each pair formed with a pointed graph and a node. The pointed graph $a/x$ has the same graph as $a$ but its root is $x$. This is expressed in deduction modulo by the rules

$$ 
\begin{array}{lclcl}
\text{root}(a/x) & \rightarrow & x & (a/x)/y & \rightarrow & a/y \\
x \eta_{a/z} y & \rightarrow & x \eta_a y
\end{array}
$$
Now, an object *a* is a member of a set *b* if the root of *b* has a child *x* in *b*, such that *a* is bisimilar to *b/x*. In deduction modulo, this definition can be handled by introducing a predicate symbol *∈* and a rule

$$a \in b \longrightarrow \exists x (x \eta_b \mathrm{root}(b) \land a \approx (b/x))$$

As equality on pointed graphs is not defined as the smallest substitutive relation, but as bisimilarity, substitutivity has to be proved. In fact, equality is only substitutive with respect to the predicates *∈* and *≈*, but not with respect to the symbol “/”, for instance. Fortunately, substitutivity with respect to *∈* and *≈* is all we need to prove that $\mathbb{Z}^{\mathrm{mod}}$ extends $\mathbb{Z}^{\mathrm{st}}$.

Equality on nodes is defined in a more usual way, introducing a fourth sort for classes of nodes. The comprehension schemes expressing the existence of classes and relations are handled by introducing a function symbol for each formula and the rewrite rules

$$\begin{align*}
\mathrm{mem}(x, g_{x, y_1, \dots, y_n, P}(y_1, \dots, y_n)) &\longrightarrow P \\
\mathrm{rel}(x, x', g'_{x, x', y_1, \dots, y_n, P}(y_1, \dots, y_n)) &\longrightarrow P
\end{align*}$$

Now, we want to build graphs for the usual set theoretic constructions: pairing, union, powerset, restricted comprehension, infinity and transitive closure. Let us take the example of the union. If *a* is a pointed graph, we want $\cup(a)$ to be a pointed graph with a fresh root *o* related to all the grand children of the root of *a*. That the root of $\cup(a)$ is the node *o* can be expressed in deduction modulo with the rule

$$\mathrm{root}(\cup(a)) \longrightarrow o$$

Then, we want the formula $x \eta_{\cup(a)} x'$ to hold if either *x* and *x'* are related in the graph *a* or *x'* is *o* and *x* is a grand child of the root of *a*. This could be expressed by the naive rule

$$\begin{align*}
x \eta_{\cup(a)} x' &\longrightarrow \\
x \eta_a x' \lor \exists z (x' = o \land x \eta_a z \land z \eta_a \mathrm{root}(a))
\end{align*}$$

However, with such a rule, we fail to express that the root *o* must be fresh. If it were already a node of *a*, for instance, the properties of the set $\cup(a)$ would not be as expected. To build the pointed graph $\cup(a)$, we must first relocate the graph *a* in a space where there is no *o*. This is achieved by introducing in the language a relocation function *i*, that is injective but not surjective and a node *o* that is not in the image of *i*. Then the set $\cup(a)$ can be defined by the rule

$$\begin{align*}
x \eta_{\cup(a)} x' &\longrightarrow \\
& (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
\lor \quad & (\exists y \exists z (x = i(y) \land x' = o \land y \eta_a z \land z \eta_a \mathrm{root}(a))).
\end{align*}$$

The fact that *i* is injective is expressed in deduction modulo, following [8] by introducing a left inverse *i'* and the rule

$$i'(i(x)) \rightarrow x$$
To express that $o$ is not in the image of $i$, we introduce a predicate $I$ that contains the image of $i$ but not $o$. This is expressed by the rules

$$I(i(x)) \to \top \qquad I(o) \to \bot$$

Some other constructions, such as pairing or powerset, need two relocation functions $i$ and $j$ such that the images of $i$, $j$ and $o$ are disjoint. To express the axiom of infinity, we also need a copy of arithmetic at the level of nodes, thus we introduce also symbols Nat, 0, S, Pred, Null, and < and related rules. For the powerset axiom, we need also an injection $\rho$ embedding pointed graphs into nodes.

## 3.2 The theory $\mathbb{I}Z^{\text{mod}}$

Let us now turn to the formal definition of $\mathbb{I}Z^{\text{mod}}$. The main symbol of this theory is a ternary predicate symbol $\eta$, the formula $x \ \eta_a \ y$ meaning that there is an edge from $x$ and $y$ in the pointed graph $a$.

The sorts of the theory $\mathbb{I}Z^{\text{mod}}$ are the following:

<table><thead><tr><td>Sort</td><td>Usage</td></tr></thead><tbody><tr><td>G</td><td>pointed graphs</td></tr><tr><td>N</td><td>Nodes</td></tr><tr><td>C</td><td>Classes of nodes</td></tr><tr><td>R</td><td>Binary relations on nodes</td></tr></tbody></table>

The predicate (**pre**), function (**fun**) and constant (**cst**) symbols with their arities are given in Table 2.

The function symbols $f_{x,y_1,\dots,y_n,P}$ are defined for each formula $P$ with free variables $x, y_1, \dots, y_n$ of sort $G$ formed with the predicate symbols $\in$ and $\approx$, and quantifiers on $G$ only. The function symbols $g_{x,y_1,\dots,y_n,P}$ (resp. $g'_{x,x',y_1,\dots,y_n,P}$) are defined for each formula $P$ whose free variables are among $x, y_1, \dots, y_n$ (resp. $x, x', y_1, \dots, y_n$), with $x$ (resp. $x, x'$) of sort $N$, formed in the restriction of the language containing all the symbols, except $g$... and $g'$... The theory $\mathbb{I}Z^{\text{mod}}$ contains no axioms but the rewrite rules that are given in Table 3.

*Example 1.* Let $\emptyset = f_{x,y,\neg(x \in y)}(y, y)$.

## 3.3 Translating $\mathbb{I}Z^{\text{st}}$ into $\mathbb{I}Z^{\text{mod}}$

We prove that $\mathbb{I}Z^{\text{mod}}$ is an extension of set theory. To do so, we define a translation $P \mapsto P^\dagger$ from $\mathbb{I}Z^{\text{st}}$ to $\mathbb{I}Z^{\text{mod}}$ which simply maps $\in$ (of $\mathbb{I}Z^{\text{st}}$) to $\in$ (of $\mathbb{I}Z^{\text{mod}}$) and $=$ (of $\mathbb{I}Z^{\text{st}}$) to $\approx$ (of $\mathbb{I}Z^{\text{mod}}$), the rest of the structure of the formula being preserved. We then prove that $\mathbb{I}Z^{\text{mod}}$ is an extension of $\mathbb{I}Z^{\text{st}}$, in the sense that for any formula $\phi$ of $\mathbb{I}Z^{\text{st}}$, if $\mathbb{I}Z^{\text{st}} \vdash \phi$, then $\mathbb{I}Z^{\text{mod}} \vdash \phi^\dagger$.

To prove this formula, we first prove that all axioms of $\mathbb{I}Z^{\text{st}}$ are theorems of $\mathbb{I}Z^{\text{mod}}$. We begin with fifty-three elementary lemmas.
<table><caption>**Table 2.** The signature of $\mathbb{Z}^{\text{mod}}$</caption><thead><tr><th colspan="3">General</th></tr></thead><tbody><tr><td>η</td><td>pre(G, N, N)</td><td>Local membership</td></tr><tr><td>root</td><td>fun(G)N</td><td>Root of a pointed graph</td></tr><tr><td>/</td><td>fun(G, N)G</td><td>Change the root of a pointed graph</td></tr><tr><td>=</td><td>pre(N, N)</td><td>Node equality</td></tr></tbody></table><table><thead><tr><th colspan="3">Sets and relations on nodes</th></tr></thead><tbody><tr><td>mem</td><td>pre(N, C)</td><td>Node membership</td></tr><tr><td>rel</td><td>pre(N, N, R)</td><td>Node relation</td></tr><tr><td>g<sub>x,y<sub>1</sub>,...,y<sub>n</sub>,P</sub></td><td>fun(N<sup>n</sup>)C</td><td>Construction of sets of nodes</td></tr><tr><td>g'<sub>x,x',y<sub>1</sub>,...,y<sub>n</sub>,P</sub></td><td>fun(N<sup>n</sup>)R</td><td>Construction of relations on nodes</td></tr></tbody></table><table><thead><tr><th colspan="3">Relocations</th></tr></thead><tbody><tr><td>o</td><td>cst N</td><td>Distinguished node</td></tr><tr><td>i</td><td>fun(N)N</td><td>First injection</td></tr><tr><td>i'</td><td>fun(N)N</td><td>Left-inverse of i</td></tr><tr><td>I</td><td>pre(N)</td><td>Image of i</td></tr><tr><td>j</td><td>fun(N)N</td><td>Second injection</td></tr><tr><td>j'</td><td>fun(N)N</td><td>Left-inverse of j</td></tr><tr><td>J</td><td>pre(N)</td><td>Image of j</td></tr><tr><td>0</td><td>cst N</td><td>zero</td></tr><tr><td>S</td><td>fun(N)N</td><td>successor</td></tr><tr><td>Pred</td><td>fun(N)N</td><td>Left-inverse of S</td></tr><tr><td>Null</td><td>pre(N)</td><td>Singleton 0</td></tr><tr><td>Nat</td><td>pre(N)</td><td>Natural number nodes</td></tr><tr><td>&lt;</td><td>pre(N, N)</td><td>Strict ordering over nodes</td></tr><tr><td>ρ</td><td>fun(G)N</td><td>Injection from pointed graphs to nodes</td></tr><tr><td>ρ'</td><td>fun(N)G</td><td>Left-inverse of ρ</td></tr></tbody></table><table><thead><tr><th colspan="3">Equality and membership</th></tr></thead><tbody><tr><td>≈</td><td>pre(G, G)</td><td>Equality as bisimilarity</td></tr><tr><td>∈</td><td>pre(G, G)</td><td>Membership as shifted bisimilarity</td></tr></tbody></table><table><thead><tr><th colspan="3">Constructions</th></tr></thead><tbody><tr><td>∪</td><td>fun(G)G</td><td>Construction of the union</td></tr><tr><td>{-, -}</td><td>fun(G, G)G</td><td>Construction of the pair</td></tr><tr><td>∍</td><td>fun(G)G</td><td>Construction of the powerset</td></tr><tr><td>f<sub>x,y<sub>1</sub>,...,y<sub>n</sub>,P</sub></td><td>fun(G<sup>n</sup>, G)G</td><td>Construction of sets by comprehension</td></tr><tr><td>Ω</td><td>cst G</td><td>Pointed graph of Von Neumann numerals</td></tr><tr><td>Cl</td><td>fun(G)G</td><td>Construction of the transitive closure</td></tr></tbody></table>
General

$$
\begin{align*}
x \eta_{a/z} y &\to x \eta_a y \\
y &= z \quad \begin{array}{c} \to \\ \forall p \end{array} (\operatorname{mem}(y, p) \Rightarrow \operatorname{mem}(z, p))
\end{align*}
\begin{equation*}
\begin{aligned}
\operatorname{root}(a/x) &\to x \\
(a/x)/y &\to a/y
\end{aligned}
\end{equation*}
$$

Sets and relations on nodes

$$
\begin{align*}
\operatorname{mem}(x, g_{x, y_1, \dots, y_n, P}(y_1, \dots, y_n)) &\to P \\
\operatorname{rel}(x, x', g_{x, x', y_1, \dots, y_n, P}(y_1, \dots, y_n)) &\to P
\end{align*}
$$

Relocations

$$
\begin{align*}
i'(i(x)) \to x & \quad I(i(x)) \to \top \quad I(j(x)) \to \bot \quad I(o) \to \bot \\
j'(j(x)) \to x & \quad J(j(x)) \to \top \quad J(i(x)) \to \bot \quad J(o) \to \bot \\
\operatorname{Pred}(S(x)) \to x & \quad \operatorname{Null}(0) \to \top \quad \operatorname{Null}(S(x)) \to \bot \quad \rho'(\rho(x)) \to x \\
\operatorname{Nat}(0) \to \top & \quad \operatorname{Nat}(S(x)) \to \operatorname{Nat}(x) \quad x < 0 \to \top \quad x < S(y) \to x < y \lor x = y
\end{align*}
$$

Equality and membership

$$
\begin{align*}
a \approx b \quad \rightarrow & \quad \exists r (\operatorname{rel}(\operatorname{root}(a), \operatorname{root}(b), r) \\
& \qquad \wedge \quad \forall x \forall x' \forall y (x' \eta_a x \wedge \operatorname{rel}(x, y, r) \Rightarrow \exists y' (y' \eta_b y \wedge \operatorname{rel}(x', y', r))) \\
& \qquad \wedge \quad \forall y \forall y' \forall x (y' \eta_b y \wedge \operatorname{rel}(x, y, r) \Rightarrow \exists x' (x' \eta_a x \wedge \operatorname{rel}(x', y', r))))
\end{align*}
$$

$$
a \in b \rightarrow \exists x (x \eta_b \operatorname{root}(b) \land a \approx (b/x))
$$

Constructions

$$
\begin{align*}
x \eta_{\cup(a)} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
&\quad \lor (\exists y \exists z (x = i(y) \land x' = o \land y \eta_a z \land z \eta_a \operatorname{root}(a)))
\end{align*}
$$

$$
\begin{align*}
x \eta_{\{a,b\}} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
&\quad \lor (\exists y \exists y' (x = j(y) \land x' = j(y') \land y \eta_b y')) \\
&\quad \lor (x = i(\operatorname{root}(a)) \land x' = o) \\
&\quad \lor (x = j(\operatorname{root}(b)) \land x' = o)
\end{align*}
$$

$$
\begin{align*}
x \eta_{\mathfrak{P}(a)} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
&\quad \lor (\exists y \exists c (x = i(y) \land x' = j(\rho(c)) \land y \eta_a \operatorname{root}(a) \land (a/y) \in c)) \\
&\quad \lor (\exists c (x = j(\rho(c)) \land x' = o))
\end{align*}
$$

$$
\begin{align*}
x \eta_{f_{x,y_1,\dots,y_n,P}(y_1,\dots,y_n,a)} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
&\quad \lor (\exists y (x = i(y) \land x' = o \land y \eta_a \operatorname{root}(a) \land P(x \leftarrow (a/y))))
\end{align*}
$$

$$
\begin{align*}
x \eta_{\Omega} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y < y')) \\
&\quad \lor (\exists y (x = i(y) \land x' = o \land \operatorname{Nat}(y)))
\end{align*}
$$

$$
\begin{align*}
x \eta_{\mathrm{Cl}(a)} x' &\to \\
&\quad (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y')) \\
&\quad \lor (\exists y (x = i(y) \land x' = o \land \\
&\qquad \quad \forall c [\forall z (z \eta_a \operatorname{root}(a) \Rightarrow \operatorname{mem}(z, c)) \land \\
&\qquad \quad \forall z \forall z' ((z \eta_a z' \land \operatorname{mem}(z', c)) \Rightarrow \operatorname{mem}(z, c)) \Rightarrow \operatorname{mem}(y, c)]])
\end{align*}
$$

$$
\mathrm{root}(\cup(a)) \to o \qquad \mathrm{root}(\{a, b\}) \to o
$$

$$
\mathrm{root}(\mathfrak{P}(a)) \to o \qquad \mathrm{root}(f_{x, y_1, \dots, y_n, P}(y_1, \dots, y_n, a)) \to o
$$

$$
\mathrm{root}(\Omega) \to o \qquad \mathrm{root}(\mathrm{Cl}(a)) \to o
$$

<caption>Table 3. Rewrite rules of IZ<sup>mod</sup></caption>
## Node identity

1. $x = x$

2. $y = z \Rightarrow (P(x \leftarrow y) \Rightarrow P(x \leftarrow z))$ (*)

## Bisimilarity

3. $a \approx a$

4. $a \approx b \Rightarrow b \approx a$

5. $(a \approx b \land b \approx c) \Rightarrow a \approx c$

6. $a \approx (a/\text{root}(a))$

## Injectivity and non confusion

7. $S(x) = S(y) \Rightarrow x = y$

8. $\neg 0 = S(x)$

9. $i(x) = i(y) \Rightarrow x = y$

10. $j(x) = j(y) \Rightarrow x = y$

11. $\neg i(x) = o$

12. $\neg j(x) = o$

13. $\neg i(x) = j(y)$

## Eta simplification

14. $x \eta_{\cup(a)} i(y') \Leftrightarrow \exists y (x = i(y) \land y \eta_a y')$

15. $x \eta_{\cup(a)} o \Leftrightarrow \exists y \exists z (x = i(y) \land y \eta_a z \land z \eta_a \text{ root}(a))$

16. $x \eta_{\{a,b\}} i(y') \Leftrightarrow \exists y (x = i(y) \land y \eta_a y')$

17. $x \eta_{\{a,b\}} j(y') \Leftrightarrow \exists y (x = j(y) \land y \eta_b y')$

18. $x \eta_{\{a,b\}} o \Leftrightarrow (x = i(\text{root}(a)) \lor x = j(\text{root}(b)))$

19. $x \eta_{\mathfrak{P}(a)} i(y') \Leftrightarrow \exists y (x = i(y) \land y \eta_a y')$

20. $x \eta_{\mathfrak{P}(a)} j(\rho(c)) \Leftrightarrow \exists y (x = i(y) \land y \eta_a \text{ root}(a) \land (a/y) \in c)$

21. $x \eta_{\mathfrak{P}(a)} o \Leftrightarrow \exists c (x = j(\rho(c)))$

22. $x \eta_{f_{x,y_1,...,y_n,P}(y_1,...,y_n,a)} i(y') \Leftrightarrow \exists y (x = i(y) \land y \eta_a y')$

23. $x \eta_{f_{x,y_1,...,y_n,P}(y_1,...,y_n,a)} o \Leftrightarrow \exists y (x = i(y) \land y \eta_a \text{ root}(a) \land P(x \leftarrow (a/y)))$

24. $x \eta_{\Omega} i(y') \Leftrightarrow \exists y (x = i(y) \land y < y')$

25. $x \eta_{\Omega} o \Leftrightarrow \exists y (x = i(y) \land \text{Nat}(y))$

26. $x \eta_{\text{Cl}(a)} i(y') \Leftrightarrow \exists y (x = i(y) \land y \eta_a y')$

27. $x \eta_{\text{Cl}(a)} o \Leftrightarrow$

$\exists y (x = i(y) \land$

$\forall c [\forall z (z \eta_a \text{ root}(a) \Rightarrow \text{mem}(z, c)) \land$

$\forall z \forall z' ((z \eta_a z' \land \text{mem}(z', c)) \Rightarrow \text{mem}(z, c)) \Rightarrow \text{mem}(y, c)])$

<caption>Table 4.</caption>

<footnote>(*) Where $P$ is any formula of the language of $\mathbb{Z}^{\text{mod}}$ that contains no function symbol of the form $g^...$ or $g'^...$.</footnote>
## Membership

28. $x \eta_a \text{ root}(a) \Rightarrow (a/x) \in a$

29. $a \approx b \Rightarrow \forall x (x \eta_a \text{ root}(a) \Rightarrow \exists y (y \eta_b \text{ root}(b) \land (a/x) \approx (b/y)))$

30. $(a \in b \land a \approx c) \Rightarrow c \in b$

31. $(a \in b \land b \approx c) \Rightarrow a \in c$

## Substitutivity

32. $(P(x \leftarrow a) \land a \approx b) \Rightarrow P(x \leftarrow b) \ (*)$

## Bisimilarity by relocation

33. $(\text{root}(b) = i(\text{root}(a)) \land \forall x \forall y' (y' \eta_b i(x) \Leftrightarrow \exists x' (y' = i(x') \land x' \eta_a x))) \Rightarrow a \approx b$

34. $(\text{root}(b) = j(\text{root}(a)) \land \forall x \forall y' (y' \eta_b j(x) \Leftrightarrow \exists x' (y' = j(x') \land x' \eta_a x))) \Rightarrow a \approx b$

## Embedding

35. $\cup(a)/i(y) \approx (a/y)$

36. $(\{a, b\}/i(\text{root}(a))) \approx a$

37. $(\{a, b\}/j(\text{root}(b))) \approx b$

38. $\mathfrak{P}(a)/i(y) \approx (a/y)$

39. $f_{x,y_1,...,y_p,P}(a_1,...,a_p,b)/i(y) \approx (b/y)$

40. $\text{Cl}(a)/i(y) \approx (a/y)$

## Extensionality

41. $P(c,d) \quad (\begin{aligned} & \land (\forall a \forall a' \forall b ((a' \in a \land P(a,b)) \Rightarrow \exists b' (b' \in b \land P(a',b')))) \\ & \land (\forall a \forall b \forall b' ((b' \in b \land P(a,b)) \Rightarrow \exists a' (a' \in a \land P(a',b')))) \\ & \Rightarrow (c \approx d) \end{aligned}) \ (*)$

## Finitary existence axioms

42. $c \in \cup(a) \Leftrightarrow \exists b (c \in b \land b \in a)$

43. $c \in \{a, b\} \Leftrightarrow (c \approx a \lor c \approx b)$

44. $a \in \mathfrak{P}(b) \Leftrightarrow \forall c (c \in a \Rightarrow c \in b)$

45. $a \in f_{x,y_1,...,y_p,P}(y_1,...,y_p,b) \Leftrightarrow a \in b \land P(x \leftarrow a) \ (*)$

## Infinity

46. $\neg a \in \emptyset$

47. $\emptyset \approx (\Omega/i(0))$

48. $(a \approx (\Omega/i(y))) \Rightarrow \cup(\{a, \{a\}\}) \approx (\Omega/i(S(y)))$

49. $\emptyset \in \Omega$

50. $a \in \Omega \Rightarrow \cup(\{a, \{a\}\}) \in \Omega$

51. $\text{Ind}(\Omega)$

## Transitive closure

52. $a \in c \Rightarrow a \in \text{Cl}(c)$

53. $a \in b \Rightarrow b \in \text{Cl}(c) \Rightarrow a \in \text{Cl}(c)$

<caption>Table 5.</caption>

<footnote>(*) Where $P$ is any formula expressed in the language $\approx$, $\in$ and where all the quantifiers are of sort $G$.</footnote>
**Theorem 1.** If $\mathbb{I}\mathbb{Z}^{\text{st}} \vdash P$ then $\mathbb{I}\mathbb{Z}^{\text{mod}} \vdash P^{\dagger}$.

*Proof.* We first prove the fifty three easy lemmas of tables 4 and 5, from which we deduce that the axioms of $\mathbb{I}\mathbb{Z}^{\text{st}}$ are provable in $\mathbb{I}\mathbb{Z}^{\text{mod}}$. We conclude with a simple induction on proof structure. $\square$

## 3.4 An example

To understand the benefit of using pointed graphs and not directly sets, take an arbitrary set $A$ and consider the set $C$ (built using the restricted comprehension scheme) formed by the elements of $A$ that are not members of themselves. The naive computation rule

$$a \in C \longrightarrow a \in A \wedge \neg a \in a$$

makes the formula $C \in C$ reduce to $C \in A \wedge \neg C \in C$. Consequently, the rewrite system is non terminating, and the underlying proof system is non normalizing too: a simple adaptation of the proof of Russell's paradox yields a non normalizable (but non paradoxical) proof of $\neg C \in A$.

A simple attempt to solve the problem would be to replace the former rule by

$$a \in C \longrightarrow \exists b (b = a \wedge (b \in A \wedge \neg b \in b)).$$

This way, the atomic formula $C \in C$ would reduce to the formula $\exists b (b = C \wedge (b \in A \wedge \neg b \in b))$, and instead of the formula $\neg C \in C$ we would get the formula $\neg b \in b$ (where $b$ is a variable). Using this trick, the rewrite system would be terminating, but we could still build a non normalizable proof using the method of [7]. The reason is that although we know that $b$ is an element of $A$ and that $A$ is structurally smaller than $C$ (since $C$ is built from $A$), nothing prevents us from substituting an arbitrary term to the variable $b$ in the sub-formula $\neg b \in b$ during some deduction step.

In $\mathbb{I}\mathbb{Z}^{\text{mod}}$, in contrast, the formula $C \in C$ reduces to

$$\exists x ((\exists y \exists y' (x = i(y) \wedge o = i(y') \wedge y \eta_A y') \vee \\ \exists y (x = i(y) \wedge o = o \wedge y \eta_A \text{ root}(A) \wedge \neg (A/y) \in (A/y))) \\ \wedge C \approx (C/x))$$

During this reduction step, we have evolved from $C \in C$ to $\neg(A/y) \in (A/y)$, where $A$ is structurally smaller than $C$. This breaks the circularity and, in the normalization proof, we shall be able to interpret $A$ first and then $C$ according to this rule.

## 4 Translating back $\mathbb{I}\mathbb{Z}^{\text{mod}}$ into $\mathbb{I}\mathbb{Z}^{\text{skol}}$

To complete the proof that $\mathbb{I}\mathbb{Z}^{\text{mod}}$ is actually a formulation of set theory, we prove that it is a conservative extension of $\mathbb{I}\mathbb{Z}^{\text{st}}$. Since $\mathbb{I}\mathbb{Z}^{\text{skol}}$ is itself a conservative extension of $\mathbb{I}\mathbb{Z}^{\text{st}}$, all we need to prove is that $\mathbb{I}\mathbb{Z}^{\text{mod}}$ is a conservative extension of $\mathbb{I}\mathbb{Z}^{\text{skol}}$. This proof is organized in two steps. First, we define a translation $P \mapsto P^*$ from $\mathbb{I}\mathbb{Z}^{\text{mod}}$ to $\mathbb{I}\mathbb{Z}^{\text{skol}}$ and we prove that if $\mathbb{I}\mathbb{Z}^{\text{mod}} \vdash P$ then $\mathbb{I}\mathbb{Z}^{\text{skol}} \vdash P^*$. Then, we prove that the formula $P \Leftrightarrow P^{\dagger*}$ is provable in $\mathbb{I}\mathbb{Z}^{\text{skol}}$.
## 4.1 Pointed graphs and reifications

The translation $P \mapsto P^*$ is based on the fact that the notions of pointed graph and bisimilarity can be defined in set theory.

**Definition 6 (Pointed graph).** A (directed) graph is a set of pairs. A pointed graph is a pair $\langle A, a \rangle$ where A is a graph.

Notice that we do not include a carrier set in our graphs, since the carrier $\overline{A}$ of a graph A can always be reconstructed as

$$ \overline{A} = \{ x \in \bigcup A \mid \exists y \; \langle x, y \rangle \in A \lor \langle y, x \rangle \in A \}, $$

whereas the carrier of a pointed graph can be reconstructed as $\overline{\langle A, a \rangle} = \overline{A} \cup \{a\}$. The formula 'A is a graph' is

$$ \mathrm{Graph}(A) \equiv \forall c \in A \exists x \exists y c = \langle x, y \rangle $$

and the formula 'g is a pointed graph' is

$$ \mathrm{Pgraph}(g) \equiv \exists A \exists a (g = \langle A, a \rangle \land \mathrm{Graph}(A)). $$

**Definition 7 (Bisimilarity).** — Let $\langle A, a \rangle$ and $\langle B, b \rangle$ be two pointed graphs. A set $r$ is called a bisimulation from $\langle A, a \rangle$ to $\langle B, b \rangle$ if

1. $\langle a, b \rangle \in r$;

2. for all $x, x'$ and $y$ such that $\langle x', x \rangle \in A$ and $\langle x, y \rangle \in r$, there exists $y'$ such that $\langle x', y' \rangle \in r$ and $\langle y', y \rangle \in B$;

3. for all $y, y'$ and $x$ such that $\langle y', y \rangle \in B$ and $\langle x, y \rangle \in r$, there exists $x'$ such that $\langle x', y' \rangle \in r$ and $\langle x', x \rangle \in A$.

Two pointed graphs $\langle A, a \rangle$ and $\langle B, b \rangle$ are said to be bisimilar if there exists a bisimulation from $\langle A, a \rangle$ to $\langle B, b \rangle$.

Formally, the formula 'g and $g'$ are bisimilar' is

$$ g \approx g' \equiv \exists A \exists a \exists B \exists b \exists r ( \begin{aligned} & \mathrm{Graph}(A) \land \mathrm{Graph}(B) \land g = \langle A, a \rangle \land g' = \langle B, b \rangle \\ & \land \langle a, b \rangle \in r \\ & \land \forall x \forall x' \forall y ((\langle x', x \rangle \in A \land \langle x, y \rangle \in r) \Rightarrow \exists y' (\langle y', y \rangle \in B \land \langle x', y' \rangle \in r)) \\ & \land \forall y \forall y' \forall x ((\langle y', y \rangle \in B \land \langle x, y \rangle \in r) \Rightarrow (\exists x' (\langle x', x \rangle \in A \land \langle x', y' \rangle \in r))) \end{aligned} ) $$

In the following definition, we will need a shorthand for 'φ is a function'

$$ \text{Function}(\phi) \equiv \begin{cases} \forall z (z \in \phi \Rightarrow \exists x \exists y z = \langle x, y \rangle) \land \\ \forall x \forall y \forall y' (\langle x, y \rangle \in \phi \land \langle x, y' \rangle \in \phi \Rightarrow y = y') \end{cases} $$

as well as terms $\mathrm{Dom}(\phi)$ and $\mathrm{Cod}(\phi)$ defined as

$$ \mathrm{Dom}(\phi) \equiv \{ x \in \bigcup A \mid \exists y \langle x, y \rangle \in \phi \} $$

$$ \mathrm{Cod}(\phi) \equiv \{ y \in \bigcup A \mid \exists x \langle x, y \rangle \in \phi \} $$
**Definition 8 (Collapse).** A Mostovski collapse of a graph A is a function $\phi$ of domain $\text{Dom}(\phi) = \bar{A}$ such that for any vertex $i \in \text{Dom}(\phi)$ and for any $x$, we have $x \in \phi(i)$ if and only if there exists $j \in \text{Dom}(\phi)$ such that $\langle j, i \rangle \in A$ and $x = \phi(j)$.

Formally, the formula `φ` is a collapse of `A` is

$$
\begin{align*}
\text{Collapse}(A, \phi) &\equiv \\
\text{Graph}(A) \wedge \text{Function}(\phi) \wedge \text{Dom}(\phi) &= \bar{A} \wedge \\
\forall i \forall y' \forall y \ [y' \in y \wedge \langle i, y \rangle \in \phi \Leftrightarrow \exists i' \ (\langle i', i \rangle \in A \wedge \langle i', y' \rangle \in \phi)]
\end{align*}
$$

The collapse of a graph, when it exists, is unique. In ZF, this property is a
consequence of the Foundation axiom. However, the weaker Strong Extension-
ality axiom is sufficient.

**Proposition 3.** — The formula

$$
\forall A \forall \phi \forall \psi (\text{Collapse}(A, \phi) \wedge \text{Collapse}(A, \psi) \Rightarrow \phi = \psi)
$$

is derivable in $\mathbb{Z}^{\text{skol}}$.

Proof. Let $A$ be a graph with two collapse functions $\phi$ and $\psi$. As a consequence of the instance of Strong Extensionality corresponding to the relation $r$ defined by

$$
r(u, v) \equiv \exists i (\langle i, u \rangle \in \phi \wedge \langle i, v \rangle \in \psi)
$$

we get $x = x'$ for all $x, x'$ and $i$ such that $\langle i, x \rangle \in \phi$ and $\langle i, x' \rangle \in \psi$. $\square$

□

The domain of the collapse $\phi$ of a graph $A$ is the carrier $\bar{A}$ of $A$. We extend
it on the whole universe by introducing the notation

$$
\hat{\phi}_A(i) \equiv \{y \in \text{Cod}(\phi) \mid \exists j \langle j, i \rangle \in A \wedge \langle j, y \rangle \in \phi\}
$$

**Proposition 4.** — The following formulæ are provable in $\mathbb{Z}^{\text{skol}}$:

1. $\forall A \forall \phi \forall i (\text{Collapse}(A, \phi) \wedge i \in \bar{A} \Rightarrow \phi(i) = \hat{\phi}_A(i))$

2. $\forall A \forall \phi (\text{Collapse}(A, \phi) \Rightarrow \forall i \forall y (y \in \hat{\phi}_A(i) \Leftrightarrow \exists j (\langle j, i \rangle \in A \wedge y = \hat{\phi}_A(j))))$

Proof. 1. Assume that $\phi$ is a collapse of $A$ and $i \in \bar{A}$. Then, by definition of $\hat{\phi}_A$, we have $\phi(i) = \hat{\phi}_A(i)$.

2. If $\langle j, i \rangle \in A$ then $j \in \bar{A}$, hence by the first part of the proposition, the formula $\langle j, i \rangle \in A \wedge y = \hat{\phi}_A(j)$ is equivalent to $\langle j, i \rangle \in A \wedge y = \phi(j)$. $\square$

□

**Definition 9 (Reification).** — Let $\langle A, a \rangle$ be a pointed graph whose underlying graph has a collapse $\phi$. We say that an object $x$ is a reification of $\langle A, a \rangle$ if $x = \hat{\phi}_A(a)$.

Formally, the formula 'x is a reification of g' is

$$
\mathrm{Reif}(g, x) \equiv \exists A \exists a \exists \phi (g = \langle A, a \rangle \wedge \mathrm{Collapse}(A, \phi) \wedge x = \hat{\phi}_A(a))
$$

*The formula 'g is a reifiable pointed graph is'*

$$
\mathrm{Rgraph}(g) \equiv \exists x \mathrm{Reif}(g, x)
$$

As an immediate corollary of Prop. 3 we get the following proposition.
**Proposition 5.** *The formula*

$$ \forall g \forall x \forall y ((\mathrm{Reif}(g, x) \wedge \mathrm{Reif}(g, y)) \Rightarrow x = y) $$

is derivable in $\mathbb{Z}^{\mathrm{st}}$.

**Proposition 6.** — *The formula*

$$ \forall x \forall g \forall h ((\mathrm{Reif}(g, x) \wedge \mathrm{Reif}(h, x)) \Rightarrow g \approx h) $$

is derivable in $\mathbb{Z}^{\mathrm{st}}$.

*Proof.* Let $x$ be a set, and $g = \langle A, a \rangle$ and $h = \langle B, b \rangle$ be two pointed graphs such that $\mathrm{Reif}(g, x)$ and $\mathrm{Reif}(h, x)$. Assume that $\phi$ is a collapse of $\langle A, a \rangle$ such that $\phi(a) = x$ and $\psi$ is a collapse of $\langle B, b \rangle$ such that $\psi(b) = x$. We then define the relation $r$ by

$$ r = \{\langle y, z \rangle \in \mathrm{Dom}(\phi) \times \mathrm{Dom}(\psi) \mid \hat{\phi}_A(y) = \hat{\psi}_B(z)\} $$

and check that this is a bisimulation of $g = \langle A, a \rangle$ with $h = \langle B, b \rangle$. $\square$

By definition, a reifiable pointed graph has a reification. We prove that, conversely, every set is the reification of some pointed graph. This existence property can be proved with the Replacement Scheme of ZF. However, the weaker Transitive Closure axiom is sufficient.

**Proposition 7.** *The formula*

$$ \forall x \exists g \mathrm{Reif}(g, x) $$

is derivable in $\mathbb{Z}^{\mathrm{st}}$.

*Proof.* Let $A$ be the set $\mathrm{Cl}(x) \cup \{x\}$ and $r$ the relation on $A$ defined by $r(u, v)$ if and only if $u \in v$, the set $x$ is the reification of the pointed graph $\langle r, x \rangle$. $\square$

We now want to show that the class Rgraph is projective. To do so, we first have to project any set $A$ to a collapsible graph $G(A)$. Intuitively, the graph $G(A)$ is defined as the largest subgraph of $A$ that has a collapse. This relies on the following definition:

**Definition 10 (Initial subgraph).**

$$ \mathrm{ISeg}(G, A) \equiv \mathrm{Graph}(G) \wedge \forall x \forall y (((\langle x, y \rangle \in A \wedge y \in \bar{G}) \Rightarrow \langle x, y \rangle \in G) $$

**Proposition 8.** *If Collapse($A$, $\phi$) and $\mathrm{ISeg}(G, A)$ then Collapse($G$, $\phi|_{\bar{G}}$)*

*Proof.* Let $\psi = \phi|_{\bar{G}}$. It is routine to check that if $i \in \bar{G}$, then the formulæ

$$ \exists j (\langle j, i \rangle \in A \wedge \langle j, y \rangle \in \phi) \quad \text{and} \quad \exists j (\langle j, i \rangle \in G \wedge \langle j, y \rangle \in \psi) $$

are equivalent. Thus, if $i \in \bar{G}$, then we have $y \in \psi(i)$ if and only if $y \in \phi(i)$ if and only if $\exists j (\langle j, i \rangle \in A \wedge \langle j, y \rangle \in \phi)$ if and only if $\exists j (\langle j, i \rangle \in G \wedge \langle j, y \rangle \in \psi)$. Thus $\psi$ is a collapse of $G$. $\square$
**Proposition 9.** Let A be a graph, and $G_1$ and $G_2$ two initial subgraphs of A with collapses $\phi_1$ and $\phi_2$. Then $\phi_1$ and $\phi_2$ coincide on $D = \text{Dom}(\phi_1) \cap \text{Dom}(\phi_2)$.

*Proof.* Let $G = A \cap (D \times D)$. Notice that $D = \overline{G_1} \cap \overline{G_2}$. It is routine to check that G is an initial subgraph of $G_1$ (resp. $G_2$). Let $D' = \overline{G} \subseteq D$. By Prop. 8, $\phi_{1|D'}$ and $\phi_{2|D'}$ are collapses of G hence they are equal by Prop. 3. We now want to prove that $\phi_1$ and $\phi_2$ coincide on the full set D. Consider an element $i \in D$. We have $y \in \phi_1(i)$ if and only if $\exists j \langle j, i \rangle \in G_1 \wedge y = \phi_1(j)$ if and only if $\exists j \langle j, i \rangle \in G_2 \wedge y = \phi_2(j)$ if and only if $y \in \phi_2(i)$. The equivalence $\exists j \langle j, i \rangle \in G_1 \wedge y = \phi_1(j)$ if and only if $\exists j \langle j, i \rangle \in G_2 \wedge y = \phi_2(j)$ is justified by noticing that the proposition $\langle j, i \rangle \in G_1$ and $\langle j, i \rangle \in G_2$ are equivalent when $i \in D$ (since both $G_1$ and $G_2$ are initial subgraphs of A), and that in this case, we have $j \in D'$, hence $\phi_1(j) = \phi_2(j)$. $\square$

As an immediate corollary, we get:

**Proposition 10.** The union of all the initial subgraphs of a set A that have a collapse has a collapse.

**Definition 11 (Largest collapsible subgraph).** — The largest collapsible subgraph of a set A is given by

$$G(A) = \bigcup \{G \in \mathfrak{P}(A) \mid \text{ISeg}(G, A) \wedge \exists \psi \text{ Collapse}(G, \psi)\}$$

The projection of any set $x$ onto the class Rgraph of reifiable pointed graphs is then defined as

$$\lfloor x \rfloor_{\text{Rgraph}} = \langle G(\pi_1(x), \pi_2(x)) \rangle$$

## 4.2 Translation

We are now ready to define a translation from $\mathbb{Z}^{\text{mod}}$ to $\mathbb{Z}^{\text{skol}}$. Each sort $s$ of $\mathbb{Z}^{\text{mod}}$ is interpreted as a sort of $\mathbb{Z}^{\text{skol}}$ written $s_*$ accompanied with a relativization predicate written $s^*(x)$ (where $x$ is of sort $s_*$). We take

- $G_* = \text{Set}$, with $G^*(x) \equiv \text{Rgraph}(x)$

- $N_* = \text{Set}$, with $N^*(x) \equiv \top$

- $C_* = \text{Class}$, with $C^*(x) \equiv \top$

- $R_* = \text{Class}$, with $R^*(c) \equiv \forall x (\text{mem}(x, c) \Rightarrow \exists y \exists z (x = \langle y, z \rangle))$

Each term $t$ (resp. formula $P$) of $\mathbb{Z}^{\text{mod}}$ is translated as a term $t^*$ (resp. formula $P^*$) of $\mathbb{Z}^{\text{skol}}$. These translations are defined by mutual induction in Tables 6 and 7.

**Proposition 11.** — If a is a well-formed term of sort $s$ in $\mathbb{Z}^{\text{mod}}$ with free variables $x_1, \dots, x_n$ of sorts $s_1, \dots, s_n$ respectively, then

$$\mathbb{Z}^{\text{skol}} \vdash \forall x_1 \dots \forall x_n (s_1^*(x_1) \wedge \dots \wedge s_n^*(x_n) \Rightarrow s^*(a^*))$$
$$x^* \equiv x$$

$$(\mathrm{root}(a))^* \equiv \pi_2(a^*)$$

$$(a/b)^* \equiv \langle \pi_1(a^*), b^* \rangle$$

$$o^* \equiv 0$$

$$0^* \equiv 0$$

$$(i(a))^* \equiv \langle 0, a^* \rangle$$

$$(i'(a))^* \equiv \pi_2(a^*)$$

$$S(x)^* \equiv x^* \cup \{x^*\}$$

$$\mathrm{Pred}(x)^* \equiv \bigcup x^*$$

$$(j(a))^* \equiv \langle 1, a^* \rangle$$

$$(j'(a))^* \equiv \pi_2(a^*)$$

$$(\rho(a))^* \equiv a^*$$

$$(\rho'(a))^* \equiv [a^*]_{\mathrm{Rgraph}}$$

$$(g_{x,y_1,\dots,y_n,P}(b_1,\dots,b_n))^* \equiv \{x \mid P^*(y_1 \leftarrow b_1^*,\dots,y_n \leftarrow b_n^*)\}$$

$$(g'_{x,x',y_1,\dots,y_n,P}(b_1,\dots,b_n))^* \equiv \{z \mid \exists x \exists y' (z = \langle x, x' \rangle \land P^*(y_1 \leftarrow b_1^*, \dots, y_n \leftarrow b_n^*))\}$$

$$(\cup(a))^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \overline{a^*} \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(a^*))$$

$$\quad \forall \exists y' \exists y (c = \langle\langle 0, y' \rangle, 0 \rangle \land \langle y', y \rangle \in \pi_1(a^*) \land \langle y, \pi_2(a^*) \rangle \in \pi_1(a^*))\}$$

$$(\{a, b\})^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \overline{a^*} \cup \{1\} \times \overline{b^*} \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(a^*))$$

$$\quad \forall \exists y \exists y' (c = \langle\langle 1, y' \rangle, \langle 1, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(b^*))$$

$$\quad \forall c = \langle\langle 0, \pi_2(a^*) \rangle, 0 \rangle \lor c = \langle\langle 1, \pi_2(b^*) \rangle, 0 \rangle\}$$

$$(\mathfrak{P}(a))^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \overline{a^*} \cup \{1\} \times \mathfrak{P}(\overline{a^*}) \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(a^*))$$

$$\quad \forall \exists y \exists p (c = \langle\langle 0, y \rangle, \langle 1, p \rangle\rangle \land \langle y, \pi_2(a^*) \rangle \in \pi_1(a^*) \land y \in p)$$

$$\quad \forall \exists p (c = \langle\langle 1, p \rangle, 0 \rangle\})\}$$

$$(f_{x,y_1,\dots,y_n,P}(a_1,\dots,a_n,a))^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \overline{a^*} \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(a^*))$$

$$\quad \lor \exists y (c = \langle\langle 0, y \rangle, 0 \rangle \land \langle y, \pi_2(a^*) \rangle \in \pi_1(a^*))$$

$$\quad \land P^*(x \leftarrow \langle \pi_1(a^*), y \rangle, y_{1..n} \leftarrow a_{1..n}))\}$$

$$\Omega^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \mathbb{N} \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land y' \in y)$$

$$\quad \forall \exists y (c = \langle\langle 0, y \rangle, 0 \rangle\})\}$$

$$(\mathrm{Cl}(a))^* \equiv \langle R, 0 \rangle \text{ where } X \equiv \{0\} \times \overline{a^*} \cup \{0\} \text{ and}$$

$$R \equiv \{c \in X \times X \mid \exists y \exists y' (c = \langle\langle 0, y' \rangle, \langle 0, y \rangle\rangle \land \langle y', y \rangle \in \pi_1(a^*))$$

$$\quad \forall \exists y (c = \langle\langle 0, y \rangle, 0 \rangle \land \langle y, \pi_2(a^*) \rangle \in \mathrm{Clos}(\pi_1(a^*))\}$$

where $\mathrm{Clos}(r)$ is the term

$$\{c \in \bar{r} \times \bar{r} \mid \forall r' (r \subseteq r' \land \forall x \forall y \forall z (\langle x, y \rangle \in r' \land \langle y, z \rangle \in r' \Rightarrow \langle x, z \rangle \in r') \Rightarrow c \in r')\}$$

<caption>**Table 6.** Translation of terms</caption>
<table><caption>**Table 7.** Translation of formulæ</caption>
  <tr>
    <td>(t η<sub>a</sub> u)<sup>*</sup></td>
    <td>≡</td>
    <td>⟨t<sup>*</sup>, u<sup>*</sup>⟩ ∈ π<sub>1</sub>(a<sup>*</sup>)</td>
  </tr>
  <tr>
    <td>(t = u)<sup>*</sup></td>
    <td>≡</td>
    <td>t<sup>*</sup> = u<sup>*</sup></td>
  </tr>
  <tr>
    <td>(mem(t, p))<sup>*</sup></td>
    <td>≡</td>
    <td>mem(t<sup>*</sup>, p<sup>*</sup>)</td>
  </tr>
  <tr>
    <td>(rel(t, u, r))<sup>*</sup></td>
    <td>≡</td>
    <td>mem(⟨t<sup>*</sup>, u<sup>*</sup>⟩, r<sup>*</sup>)</td>
  </tr>
  <tr>
    <td>(I(t))<sup>*</sup></td>
    <td>≡</td>
    <td>∃y t<sup>*</sup> = ⟨0, y⟩</td>
  </tr>
  <tr>
    <td>(J(t))<sup>*</sup></td>
    <td>≡</td>
    <td>∃y t<sup>*</sup> = ⟨1, y⟩</td>
  </tr>
  <tr>
    <td>(Null(t))<sup>*</sup></td>
    <td>≡</td>
    <td>t<sup>*</sup> = 0</td>
  </tr>
  <tr>
    <td>(t &lt; u)<sup>*</sup></td>
    <td>≡</td>
    <td>t<sup>*</sup> ∈ u<sup>*</sup> ∧ u<sup>*</sup> ∈ N</td>
  </tr>
  <tr>
    <td>(Nat(t))<sup>*</sup></td>
    <td>≡</td>
    <td>t<sup>*</sup> ∈ N</td>
  </tr>
  <tr>
    <td>(t ≈ u)<sup>*</sup></td>
    <td>≡</td>
    <td>t<sup>*</sup> ≈ u<sup>*</sup></td>
  </tr>
  <tr>
    <td>(t ∈ u)<sup>*</sup></td>
    <td>≡</td>
    <td>∃z (⟨z, π<sub>2</sub>(u<sup>*</sup>)⟩ ∈ π<sub>1</sub>(u<sup>*</sup>) ∧ t<sup>*</sup> ≈ ⟨π<sub>1</sub>(u<sup>*</sup>), z⟩)</td>
  </tr>
  <tr>
    <td>⊤<sup>*</sup></td>
    <td>≡</td>
    <td>⊤</td>
  </tr>
  <tr>
    <td>⊥<sup>*</sup></td>
    <td>≡</td>
    <td>⊥</td>
  </tr>
  <tr>
    <td>(A ⇒ B)<sup>*</sup></td>
    <td>≡</td>
    <td>A<sup>*</sup> ⇒ B<sup>*</sup></td>
  </tr>
  <tr>
    <td>(A ∧ B)<sup>*</sup></td>
    <td>≡</td>
    <td>A<sup>*</sup> ∧ B<sup>*</sup></td>
  </tr>
  <tr>
    <td>(A ∨ B)<sup>*</sup></td>
    <td>≡</td>
    <td>A<sup>*</sup> ∨ B<sup>*</sup></td>
  </tr>
  <tr>
    <td>(∀x A)<sup>*</sup></td>
    <td>≡</td>
    <td>∀x (s<sub>*</sub>(x) ⇒ A<sup>*</sup>)</td>
  </tr>
  <tr>
    <td>(∃x A)<sup>*</sup></td>
    <td>≡</td>
    <td>∃x (s<sub>*</sub>(x) ∧ A<sup>*</sup>)</td>
  </tr>
</table>

*Proof.* By induction on the structure of the term *a*. The only non trivial case is when *t* is of sort *G*, in which case we have to check that *t*\* is a term of sort Set and that the formula Reif(*t*) is provable in *IZ<sup>skol</sup>*. If *a* has the form ⋃(*b*), {*b*, *c*}, *P*(*b*), *f*<sub>*x*,*y*<sub>1</sub>,...,*y*<sub>n</sub>,*P*(*b*<sub>1</sub>,...,*b*<sub>*n*</sub>, *b*), *Ω* or Cl(*a*), then we just apply the induction hypothesis and prove that the pointed graph built in the translation is reifiable (which needs to use the corresponding axioms of *IZ<sup>skol</sup>*). If *a* has the form *b/**x* then we have to prove that the pointed graph built in the translation is reifiable which is obvious because reifiability does not depend on the position of the root in the graph. If the term has the form *ρ*′(*a*). We have to check that the pointed graph built in the translation is reifiable, and this holds because *G*(*a*) is built in order to have a collapse.
□

**Proposition 12 (Correction of rules).** — If $P \to Q$, where the free vari-
ables of $P$ are among $x_1, \dots, x_n$ of sorts $s_1, \dots, s_n$ respectively, then the formula

$$
\mathbb{I}Z^{\text{skol}} \vdash s_1^*(x_1) \wedge \dots \wedge s_n^*(x_n) \Rightarrow (P^* \Leftrightarrow Q^*)
$$

*Proof.* We check this rule by rule. Let us give a few examples.

– The rule

$$
x \eta_{\cup(a)} x' \rightarrow (\exists y \exists y' (x = i(y) \land x' = i(y') \land y \eta_a y') \\
\qquad \lor (\exists y \exists z (x = i(y) \land x' = o \land y \eta_a z \land z \eta_a \text{ root}(a))))
$$

Consider an atomic formula of the form $t \eta_{\cup(a)} t'$ that reduces to

$$
(\exists y \exists y' (t = i(y) \land t' = i(y') \land y \eta_a y')) \\
\lor (\exists y \exists z (t = i(y) \land t' = o \land y \eta_a z \land z \eta_a \text{ root}(a)))
$$
The translation of the formula $t \eta_{\cup(a)} t'$ is $\langle t^*, t'^* \rangle \in \pi_1(\langle R, 0 \rangle)$ where

$$
R = \{ c \in X \times X \mid \\
\quad \exists y \exists y' (c = \langle\langle 0, y \rangle, \langle 0, y' \rangle\rangle \land \langle y, y' \rangle \in \pi_1(a^*)) \\
\quad \lor \exists y \exists z (c = \langle\langle 0, y \rangle, 0 \rangle \land \langle y, z \rangle \in \pi_1(a^*) \land \langle z, \pi_2(a^*) \rangle \in \pi_1(a^*)) \}
$$

where $X = (\{0\} \times \overline{a^*}) \cup \{0\}$. This formula is provably equivalent in $\mathbb{I}Z^{\text{skol}}$ to

$$
\begin{array}{l}
t^* \in X \wedge t'^* \in X \wedge \\
\quad (\exists y \exists y' (t^* = \langle 0, y \rangle \wedge t'^* = \langle 0, y' \rangle \wedge \langle y, y' \rangle \in \pi_1(a^*))) \\
\quad \lor \exists y \exists z (t^* = \langle 0, y \rangle \wedge t'^* = 0 \wedge \langle y, z \rangle \in \pi_1(a^*) \wedge \langle z, \pi_2(a^*) \rangle \in \pi_1(a^*))
\end{array}
$$

that is provably equivalent in $\mathbb{I}Z^{\text{skol}}$ to

$$
\exists y \exists y' (t^* = \langle 0, y \rangle \wedge t'^* = \langle 0, y' \rangle \wedge \langle y, y' \rangle \in \pi_1(a^*)) \\
\lor \exists y \exists z (t^* = \langle 0, y \rangle \wedge t'^* = 0 \wedge \langle y, z \rangle \in \pi_1(a^*) \wedge \langle z, \pi_2(a^*) \rangle \in \pi_1(a^*))
$$

that is the translation of

$$
\begin{array}{l}
(\exists y \exists y' (t = i(y) \land t' = i(y') \land y \eta_a y')) \\
\quad \lor (\exists y \exists z (t = i(y) \land t' = o \land y \eta_a z \land z \eta_a \text{ root}(a))).
\end{array}
$$

- The rule

$$
y = z \longrightarrow \forall p (\mathrm{mem}(y, p) \Rightarrow \mathrm{mem}(z, p))
$$

Consider an atomic formula $t = u$ that reduces to

$$
\forall p (\mathrm{mem}(t, p) \Rightarrow \mathrm{mem}(t, p)).
$$

The l.h.s. translates to the formula $t^* = u^*$ whereas the r.h.s. translates to

$$
\forall p (\top \Rightarrow \mathrm{mem}(t^*, p) \Rightarrow \mathrm{mem}(u^*, p)).
$$

Both formulæ are equivalent in $\mathbb{I}Z^{\text{class}}$.

**Proposition 13 (Correction of the translation).** — Let $P$ be a formula of $\mathbb{I}Z^{\text{mod}}$ with free variables $x_1, \dots, x_n$ of sorts $s_1, \dots, s_n$ respectively. If $\mathbb{I}Z^{\text{mod}} \vdash P$, then

$$
\mathbb{I}Z^{\text{skol}} \vdash s_1^*(x_1) \wedge \dots \wedge s_n^*(x_n) \Rightarrow P^*
$$

*Proof.* By induction over proof structure, using Prop. 11 to justify the rules of quantifiers and Prop. 12 to justify conversion steps. $\square$

**4.3 Conservative extension**

In Section 3.3, we have proved that $\mathbb{I}Z^{\text{mod}}$ was an extension of $\mathbb{I}Z^{\text{st}}$. We are now ready to prove that this extension is conservative.
**Proposition 14.** — For any formula $P(x_1, \dots, x_n)$ of $\mathbb{Z}^{\text{sk}}$, the universal closure of the formula (with free variables $x_1, \dots, x_n, g_1, \dots, g_n$)

$$ \bigwedge_{i=1}^{n} \mathrm{Reif}(x_i, g_i) \Rightarrow (P(x_1, \dots, x_n) \Leftrightarrow P^{\dagger*}(g_1, \dots, g_n)) $$

is a theorem of $\mathbb{Z}^{\text{skol}}$.

*Proof.* By structural induction on $P$.

- If $P(x, y)$ has the form $x = y$, let us assume $\mathrm{Reif}(x, g)$ and $\mathrm{Reif}(y, h)$. We have to prove

$$ x = y \Leftrightarrow g \approx h $$

and this is a consequence of Prop. 6 and 5.

- If $P(x, y)$ has the form $x \in y$, let us assume $\mathrm{Reif}(x, g)$ and $\mathrm{Reif}(y, h)$. The formula $P^{\dagger*}(g, h)$ is

$$ \exists z (\langle z, \pi_2(h) \rangle \in \pi_1(h) \wedge g \approx \langle \pi_1(h), z \rangle) $$

and we have to prove the formula

$$ x \in y \Leftrightarrow \exists z (\langle z, \pi_2(h) \rangle \in \pi_1(h) \wedge g \approx \langle \pi_1(h), z \rangle) $$

Let $B = \pi_1(h)$, $b = \pi_2(h)$, and $a = \pi_2(g)$. We have to prove

$$ x \in y \Leftrightarrow \exists z (\langle z, b \rangle \in B \wedge g \approx \langle B, z \rangle) $$

Let $\phi$ be a collapse of $g$ such that $x = \phi(a)$ and $\psi$ a collapse of $h$ such that $y = \psi(b)$.

* Assume $x \in y$. Then there exists $z \in \mathrm{Dom}(\psi)$ such that $\psi(z) = x$ and $\langle z, b \rangle \in B$. But $x$ is obviously a reification of the pointed graph $\langle B, z \rangle$. Since the pointed graphs $g$ and $\langle B, z \rangle$ have the same reification $x$, they are bisimilar (Proposition 6).

* Conversely, assume $z$ such that $\langle z, b \rangle \in B$ and $\langle B, z \rangle \approx g$. From $\langle z, b \rangle \in B$, we get $\psi(z) \in \psi(b) = y$. Since the pointed graphs $\langle B, z \rangle$ and $g$ are bisimilar, their reifications $\psi(z)$ and $x$ are equal from Proposition 5.

- If $P(x_1, \dots, x_n)$ has the form $Q(x_1, \dots, x_n) \wedge R(x_1, \dots, x_n)$, then, by induction hypothesis, under the hypotheses $\mathrm{Reif}(x_i, g_i)$, we have
  $Q(x_1, \dots, x_n) \Leftrightarrow Q^{\dagger*}(g_1, \dots, g_n)$ and $R(x_1, \dots, x_n) \Leftrightarrow R^{\dagger*}(g_1, \dots, g_n)$. We deduce $(Q(x_1, \dots, x_n) \wedge R(x_1, \dots, x_n)) \Leftrightarrow (Q^{\dagger*}(g_1, \dots, g_n) \wedge R^{\dagger*}(g_1, \dots, x_n))$, i.e. $(Q(x_1, \dots, x_n) \wedge R(x_1, \dots, x_n)) \Leftrightarrow (Q(g_1, \dots, g_n) \wedge R(g_1, \dots, g_n))^{\dagger*}$.

- If $P(x_1, \dots, x_n)$ has the form $Q(x_1, \dots, x_n) \vee R(x_1, \dots, x_n)$ or $Q(x_1, \dots, x_n) \Rightarrow R(x_1, \dots, x_n)$, the proof is similar.

- If $P(x_1, \dots, x_n)$ has the form $\forall x Q(x, x_1, \dots, x_n)$, then $P^{\dagger*}(g_1, \dots, g_n)$ is

$$ \forall g [\mathrm{Rgraph}(g) \Rightarrow Q^{\dagger*}(g, g_1, \dots, g_n)] $$
* Let us assume $P(x_1, \dots, x_n)$, i.e. $\forall x Q(x, x_1, \dots, x_n)$, and prove $(P^\dagger)^*(g_1, \dots, g_n)$, i.e. $\forall g [\text{Rgraph}(g) \Rightarrow Q^{\dagger*}(g, g_1, \dots, g_n)]$. Let $g$ be a reifiable pointed graph, and $a$ a reification of $g$. From our assumption, one has $Q(a, x_1, \dots, x_n)$ By induction hypothesis, we have $(Q^\dagger)^*(g, g_1, \dots, g_n)$.

* Conversely, assume $(P^\dagger)^*(g_1, \dots, g_n)$, i.e. $\forall g [\text{Rgraph}(g) \Rightarrow Q^{\dagger*}(g, g_1, \dots, g_n)]$, and prove $P(x_1, \dots, x_n)$, i.e. $\forall x Q(x, x_1, \dots, x_n)$. Let $x$ be a set. From Prop. 7, there exists a reifiable pointed graph $h$ such that $\text{Reif}(x, h)$. By induction hypothesis we have $Q(x, x_1, \dots, x_n)$.

– If $P$ has the form $\exists x Q$, the proof is similar. □

**Theorem 2 (Conservativity).** — Let $P$ be a closed formula in the language of $\mathbb{I}Z^{\text{st}}$. If $\mathbb{I}Z^{\text{mod}} \vdash P^\dagger$, then $\mathbb{I}Z^{\text{st}} \vdash P$.

*Proof.* Assume $\mathbb{I}Z^{\text{mod}} \vdash P^\dagger$. By Proposition 13, we have $\mathbb{I}Z^{\text{skol}} \vdash (P^\dagger)^*$, by Proposition 14 we get $\mathbb{I}Z^{\text{skol}} \vdash P$ and we conclude using the fact that $\mathbb{I}Z^{\text{skol}}$ is a conservative extension of $\mathbb{I}Z^{\text{st}}$. □

# 5 Normalization

In this section, we prove that all proofs in the theory $\mathbb{I}Z^{\text{mod}}$ are strongly normalizable. As this theorem implies the consistency of $\mathbb{I}Z^{\text{mod}}$, it cannot be proved in set theory itself. In [6] we have generalized the usual notion of relative consistency proof to a notion of relative normalization proof. Technically, our normalization theorem is proved under the assumption that $\mathbb{I}Z^{\text{skol2}}$ is 1-consistent.

## 5.1 Reducibility candidates

To prove normalization, we shall use the result proved in [6]. For that, we need to define a translation from $\mathbb{I}Z^{\text{mod}}$ to $\mathbb{I}Z^{\text{skol2}}$ associating to each term $t$ of $\mathbb{I}Z^{\text{mod}}$ a term $t^*$ of $\mathbb{I}Z^{\text{skol2}}$ and to each atomic formula $P$ of $\mathbb{I}Z^{\text{mod}}$ a formula $\pi \Vdash P$ of $\mathbb{I}Z^{\text{skol2}}$. This translation is then extended to all formulæ as shown in [6]. To define the formula $\pi \Vdash P$ we shall first define a term $P^*$ expressing a reducibility candidate and then we shall define $\pi \Vdash P$ as $\pi \in P^*$.

We refer to [6] for the definition of all notations related to reducibility candidates. In particular, we shall denote Proof the set of all proof-terms, $\mathcal{CR}$ the set of all reducibility candidates, SN the set of all strongly normalizable proofs (which is the largest reducibility candidate), and $\Rightarrow$, $\tilde{\lambda}$, $\tilde{\nu}$, etc. the binary operations on $\mathcal{CR}$ that interpret the corresponding intuitionistic connectives.

An important property of the class of reducibility candidates is that it is projective. Indeed, if we define $\lfloor X \rfloor_{\mathcal{CR}}$ as the intersection of all reducibility candidates containing $X \cap \text{SN}$

$$ \lfloor X \rfloor_{\mathcal{CR}} = \{ \pi \in \text{SN} \mid \forall r \in \mathcal{CR} (X \cap \text{SN} \subseteq r \Rightarrow \pi \in r) \} $$

we easily check that $\mathbb{I}Z^{\text{skol2}}$ proves
1. For all $X$, $\lfloor X \rfloor_{CR} \in CR$

2. If $X \in CR$, then $X = \lfloor X \rfloor_{CR}$.

Moreover, if $X$ is a set of strongly normalizable proofs, then $\lfloor X \rfloor_{CR}$ is the smallest reducibility candidate containing $X$.

## 5.2 Saturated pointed graphs

**Definition 12 (Saturated pointed graph).** A saturated graph is a function $R$ whose domain is a set of pairs and whose codomain is $CR$. A saturated pointed graph is a pair $\langle R, r \rangle$ formed by a saturated graph $R$ and an arbitrary object $r$.

The formulae 'x is a saturated graph' and 'x is a saturated pointed graph' are written Sgraph($x$) and Spgraph($x$), respectively. Again, it is easy to check that the class of saturated graphs and the class of saturated pointed graphs are projective, using the projections:

$$ \lfloor X \rfloor_{\text{Sgraph}} \equiv \{c \in \text{Dom}(X) \times CR \mid \pi_2(c) = \lfloor X(\pi_1(c)) \rfloor_{CR}\} \\ \lfloor X \rfloor_{\text{Spgraph}} \equiv \langle \lfloor \pi_1(X) \rfloor_{\text{Sgraph}}, \pi_2(X) \rangle $$

We check that $\mathbb{Z}^{\text{skol2}}$ proves

1. For all $X$, Spgraph($\lfloor X \rfloor_{\text{Spgraph}}$)

2. If Spgraph($X$), then $X = \lfloor X \rfloor_{\text{Spgraph}}$.

(and similarly for Sgraph).

The carrier $\bar{a}$ of a saturated pointed graph $a$ is defined as

$$ \bar{a} \equiv \{x \in \bigcup \pi_1(x) \mid \exists y \exists r \langle\langle x, y \rangle, r \rangle \in \pi_1(a) \lor \langle\langle y, x \rangle, r \rangle \in \pi_1(a)\}. $$

## 5.3 Translation of sorts

We now define the translation of $\mathbb{Z}^{\text{mod}}$ into $\mathbb{Z}^{\text{skol2}}$.

Each sort $s$ of $\mathbb{Z}^{\text{mod}}$ is translated as a sort of $\mathbb{Z}^{\text{skol2}}$ written $s_*$ accompanied with a relativization predicate written $s^*(x)$ (where $x$ is of sort $s_*$). We then set:

- $G_* = \text{Set}$, with $G^*(x) \equiv \text{Spgraph}(x)$

- $N_* = \text{Set}$, with $N^*(x) \equiv \top$

- $C_* = \text{Class}$, with

$$ C^*(c) \equiv \forall z (\text{mem}(z, c) \Rightarrow \exists x \exists r (z = \langle x, r \rangle \land r \in CR)) $$

- $R_* = \text{Class}$, with

$$ R^*(c) \equiv \forall z (\text{mem}(z, c) \Rightarrow \exists x \exists y \exists r (z = \langle\langle x, y \rangle, r \rangle \land r \in CR)) $$

If $c$ is an element of $C^*$ and if $x$ is any object, we write

$$ c[x] = \lfloor \bigcup \{r \in CR \mid \text{mem}(\langle x, r \rangle, c) \} \rfloor_{CR} $$

the candidate associated to $x$ in $c$ (or the smallest candidate if there is no candidate associated to $x$ in $c$). Similarly, if $c$ is an element of $R^*$ and if $x, y$ are arbitrary objects, we write

$$ c[x, y] = \lfloor \bigcup \{r \in CR \mid \text{mem}(\langle\langle x, y \rangle, r \rangle, c) \} \rfloor_{CR} $$

the candidate associated to $\langle x, y \rangle$ in $c$ (or the smallest candidate otherwise).
## 5.4 Translation of function and predicate symbols

To each function symbol $f$ of arity $n$ of $\mathbb{Z}^{\text{mod}}$, we associate a term $\tilde{f}(x_1, ..., x_n)$ possibly containing the free variables $x_1, ..., x_n$. These “macros” will be used later to translate full terms, setting $(f(t_1, ..., t_n))^* \equiv \tilde{f}(t_1^*, ..., t_n^*)$.

We start by some easy function symbols:

$$
\begin{align*}
\text{root}(x) &\equiv \pi_2(x) & x/y &\equiv \langle \pi_1(x), y \rangle & \tilde{o} &\equiv 0 \\
\tilde{i}(x) &\equiv \langle 0, x \rangle & \tilde{j}(x) &\equiv \langle 1, x \rangle & \tilde{\rho}(x) &\equiv x \\
\tilde{i}'(x) &\equiv \pi_2(x) & \tilde{j}'(x) &\equiv \pi_2(x) & \tilde{\rho}'(x) &\equiv |x|_{\text{Spgraph}} \\
\tilde{o} &\equiv 0 & \tilde{S}(x) &\equiv x \cup \{x\} & \tilde{P}_{\text{red}}(x) &\equiv \bigcup x
\end{align*}
$$

In the same way, to each predicate symbol $P$ of arity $n$ of $\mathbb{Z}^{\text{mod}}$, we associate a term $\tilde{P}(x_1, ..., x_n)$ possibly containing the free variables $x_1, ..., x_n$. From these macros we will translate atomic formulæ by setting $(P(t_1, ..., t_n))^* \equiv \tilde{P}(t_1^*, ..., t_n^*)$. We set

$$
\begin{align*}
\text{m\'em}(x, p) &\equiv p(x) \\
\text{r\'el}(x, y, p) &\equiv p(x, y) \\
\tilde{I}(x) &\equiv \tilde{J}(x) \equiv \tilde{\text{Null}}(x) \equiv \tilde{\text{Nat}}(x) \equiv \text{SN} \\
(x \ \tilde{\eta}_a \ y) &\equiv [\pi_1(a)(x, y)]_{\mathcal{CR}}
\end{align*}
$$

Using both definitions $(f(t_1, ..., t_n))^* \equiv \tilde{f}(t_1^*, ..., t_n^*)$ and $(P(t_1, ..., t_n))^* \equiv \tilde{P}(t_1^*, ..., t_n^*)$, we can now translate all the terms and formulæ containing the symbols for which we have already introduced a translation. In particular, we can translate the formula $\forall p (\text{mem}(x, p) \Rightarrow \text{mem}(y, p))$. We thus translate the predicate symbol $=$ as

$$x \stackrel{\sim}{=} y \equiv (\forall p (\text{mem}(x, p) \Rightarrow \text{mem}(y, p)))^*$$

In a similar way we take

$$
\begin{align*}
a \approx b &\equiv [\exists r (\text{rel}(\text{root}(a), \text{root}(b), r) \\
&\quad \wedge \forall x \forall x' \forall y (x' \eta_a x \wedge \text{rel}(x, y, r) \Rightarrow \\
&\quad \qquad \exists y' (y' \eta_b y \wedge \text{rel}(x', y', r))) \\
&\quad \wedge \forall y \forall y' \forall x (y' \eta_b y \wedge \text{rel}(x, y, r) \Rightarrow \\
&\quad \qquad \exists x' (x' \eta_a x \wedge \text{rel}(x', y', r))))]^* \\
a \in b &\equiv [\exists x (x \eta_b \text{ root}(b) \wedge a \approx (b/x))]^*
\end{align*}
$$

To define $x \gtrsim y$ and $(t < u)^*$, we proceed as follows. Fix $x_0$ and $y_0$, and consider the sequence of functions $(f_n)_{n \in \mathbb{N}} : \text{Cl}(\{y_0\}) \to \mathcal{CR}$ defined by induction on $n$ as follows:

- $f_0$ is defined as the constant function that maps all the elements of $\text{Cl}(\{y_0\})$ to the smallest candidate.

- $f_{n+1}$ is defined from $f_n$ in two steps as follows:
* First we consider the functional graph $f'_n$ defined as

$$f'_n = \{(0, \perp)\} \cup \{\langle s(z), f_n(z) \rangle \mid \tilde{x}_0 = z \rangle \mid y \in \text{Cl}(\{y\})\}$$

* Then we set

$$f_{n+1}(z) = \lfloor \{ \pi \in \text{Proof} \mid \exists c \; (\langle z, c \rangle \in f'_n \wedge \pi \in c) \} \rfloor_{\mathcal{C}\mathcal{R}}$$

for all $z \in \text{Cl}(\{y\})$.

Finally we set $x_0 \preceq y_0 \equiv \lfloor \bigcup_{n \in \mathbb{N}} f_n(y_0) \rfloor_{\mathcal{C}\mathcal{R}}$.

We then translate the symbols $\cup, \{, \}, \mathfrak{P}, f_{x,y_1,\dots,y_n}, \Omega$ and Cl.

The formula $x \eta \cup (a) x'$ reduces to the formula $P$ which is:

$$\begin{align*}
(\exists y \exists y' (x = i(y) \wedge x' = i(y') \wedge y \eta_a y')) \\
\lor (\exists y \exists z (x = i(y) \wedge x' = o \wedge y \eta_a z \wedge z \eta_a \text{root}(a)))
\end{align*}$$

Consider the translation $P^*$ of this formula. We let

$$\tilde{\cup}(a) \equiv \langle R, 0 \rangle$$

where $R = \{c \in (X \times X) \times \mathcal{C}\mathcal{R} \mid \exists x \exists x' c = \langle\langle x, x' \rangle, P^* \rangle\}$ and $X = (1 \times \bar{a}) \cup \{0\}$.
We do the same thing for the other constructions.

Finally, remains to define the translation of the symbols $g_{x,y_1,\dots,y_n,P}$ and $g'_{x,x',y_1,\dots,y_n,P}$. We set

$$\tilde{g}_{x,y_1,\dots,y_n,P}(y_1, \dots, y_n) \equiv \{z \mid \exists x \ z = \langle x, P^* \rangle\}$$

$$(\tilde{g}'_{x,x',y_1,\dots,y_n,P}(y_1, \dots, y_n))^* \equiv \{z \mid \exists x \exists x' z = \langle\langle x, x' \rangle, P^* \rangle\}$$

From [6], to get normalization, we need to prove the following two lemmas:

**Proposition 15.** — For any atomic formula $A$ of $\mathbb{Z}^{\text{mod}}$, the formula $A^* \in \mathcal{C}\mathcal{R}$ is provable in $\mathbb{Z}^{\text{skol2}}$.

*Proof.* By induction on the structure of $A$. □

**Proposition 16.** — If $A \to B$, then $A^* = B^*$ is provable in $\mathbb{Z}^{\text{skol2}}$ under the assumptions $s_i^*(x_i)$ for each variable $x_i$ of sort $s_i$ that appears in one of the formulæ $A$ and $B$.

*Proof.* It suffices to prove the formula for each rewrite rule $A \to B$ (for which $A$ is always an atomic formula). In most cases, this is obvious, since the denotation of the left-hand side has been precisely defined as the denotation of the right-hand side. □

Thus we get our final theorem.

**Theorem 3.** — If $\mathbb{Z}^{\text{skol2}}$ is 1-consistent, then the theory $\mathbb{Z}^{\text{mod}}$ has the normalization property.
# 6 Witness properties

**Corollary 1 (Witness property in $\mathbb{Z}^{\text{mod}}$).** If a closed formula $\exists x P(x)$ is provable in $\mathbb{Z}^{\text{mod}}$, then there exists a term $t$ in $\mathbb{Z}^{\text{mod}}$ (of the same sort as the variable $x$) such that the formula $P(t)$ is provable.

*Proof.* A cut-free proof ends with an introduction rule.

**Corollary 2 (Non-numerical witness in $\mathbb{Z}^{\text{st}}$).** If a closed formula $\exists x P(x)$ is provable in $\mathbb{Z}^{\text{st}}$, then there exists a formula $D(y)$ with one free variable $y$ such that

1. The formula $\exists!x D(x)$ is provable in $\mathbb{Z}^{\text{st}}$.

2. The formula $\forall x (D(x) \Rightarrow P(x))$ is provable in $\mathbb{Z}^{\text{st}}$.

*Proof.* The formula $\exists x P^{\dagger}(x)$ is provable in $\mathbb{Z}^{\text{mod}}$, hence by corollary 1 there exists a term $t$ such that $P^{\dagger}(t)$ is provable in $\mathbb{Z}^{\text{mod}}$. Hence the formula $P^{\dagger}(t^*)$ is provable in $\mathbb{Z}^{\text{st}}$. Consider the formula $D(y) \equiv \text{Reif}(y, t^*)$. From Prop. 11, we have $\text{Rgraph}(t^*)$, that is: $\exists x D(x)$. Uniqueness follows from Prop. 5. From Prop. 14, we have

$$ \forall x \forall g (\text{Reif}(x, g) \Rightarrow (P(x) \Leftrightarrow P^{\dagger}(g))) $$

hence

$$ \forall x (\text{Reif}(x, t^*) \Rightarrow (P^{\dagger}(t^*) \Rightarrow P(x))) $$

As we have $P^{\dagger}(t^*)$, we get $\forall x (D(x) \Rightarrow P(x))$. $\square$

**Corollary 3 (Numerical witness in $\mathbb{Z}^{\text{st}}$).** If a closed formula of the form $\exists x (\text{Nat}(x) \wedge P(x))$ is provable in $\mathbb{Z}^{\text{st}}$, then there exists a natural number $n$ such that the formula

$$ \exists x (\text{Is}_n(x) \wedge P(x)) $$

is provable in $\mathbb{Z}^{\text{st}}$, where the formula $\text{Is}_n(x)$ is inductively defined by

$$ \text{Is}_0(x) \equiv \text{Empty}(x) \quad \text{and} \quad \text{Is}_{n+1}(x) \equiv \exists y (\text{Is}_n(y) \wedge \text{Succ}(y, x)) $$

*Proof.* The formula $\exists x (\text{Nat}^{\dagger}(x) \wedge P^{\dagger}(x))$ is provable in $\mathbb{Z}^{\text{mod}}$, hence there exists a term $t$ in $\mathbb{Z}^{\text{mod}}$ such that $\text{Nat}^{\dagger}(t)$ and $P^{\dagger}(t)$ are provable. We check that the formula $\forall x (\text{Nat}^{\dagger}(x) \Rightarrow x \in \Omega)$ is provable in $\mathbb{Z}^{\text{mod}}$. Hence the formula $t \in \Omega$, i.e. $\exists x (x \eta_{\Omega} o) \wedge t \approx (\Omega/x)$ is provable. Again there exists a term $u$ such that the formulae $u \eta_{\Omega} o$ and $t \approx (\Omega/u)$ are provable. The formula $u \eta_{\Omega} o$ is equivalent by elementary means to $\exists y (u = i(y) \wedge \text{Nat}(y))$.

Thus there exists a term $v$ such that $u = i(v)$ and $\text{Nat}(v)$ are provable.

A cut free proof of the formula $\text{Nat}(v)$ ends with an introduction rule. Hence $\text{Nat}(v)$ reduce to a non atomic formula and $v$ has the form $S^n(0)$ for some $n$.

Thus the formula $t \approx (\Omega/i(S^n(0)))$ is provable.

We check, by induction on $n$ that the formula $\text{Is}_n^{\dagger}(\Omega/i(S^n(0)))$ is provable in $\mathbb{Z}^{\text{mod}}$. Hence the formula $\exists x (\text{Is}_n^{\dagger}(x) \wedge P^{\dagger}(x))$ is provable in $\mathbb{Z}^{\text{mod}}$. Hence $\exists x (\text{Rgraph}(x) \wedge \text{Is}_n^{\dagger}(x) \wedge P^{\dagger}(x))$ is provable in $\mathbb{Z}^{\text{st}}$ and by Prop. 14, the formula $\exists x (\text{Is}_n(x) \wedge P(x))$ is provable in $\mathbb{Z}^{\text{st}}$.
# 7 Conclusion

In this paper we have given a normalization proof for Zermelo set theory extended with Strong Extensionality and Transitive Closure.

This theorem can also be attained as a corollary of the existence of a translation of $IZ^{st}$ into type theory [20] (using stronger assumptions than the 1-consistency of $IZ^{skol2}$). However, instead of expressing set theory on top of a theory of graphs defined in type theory, we expressed it on top of a theory of graphs simply expressed in predicate logic. The fact that this theory can be expressed with computation rules only and no axioms is a key element for the cut-free proof to end with an introduction rule. This shows that the key feature of type theory used in these translations is the feature captured by Deduction modulo: the possibility to mix computation and deduction.

Along the way we have proposed a typed lambda-calculus where all terms normalize and where all provably total functions of set theory can be expressed. It should be noticed that the syntax of lambda-calculus is exactly that of the proofs of predicate logic (i.e. variables, abstractions and applications, pairs and projections, disjoints union and definition by cases, ...). No new construction is needed, only the type system is new.

One striking feature of this expression of set theory in Deduction modulo is the presence of the extensionality axiom. Extensionality axioms are usually difficult to transform into computation rules. For instance, for extensional simple type theory there is, as far as we know, no expression in Deduction modulo and no normalization proof. The idea is to define equality in such a way that it is extensional and then prove that it is substitutive on the considered part of the language. Whether this method can be generalized to extensional simple type theory still remains to be investigated.

Our investigation on normalization has lead us to consider an extension of Zermelo set theory with Strong Extensionality and Transitive Closure. This raises the question of the interest *per se* of this theory. In particular, the fact that transitive closure cannot always be constructed in Zermelo set theory [9] can be seen as a weakness of this theory, which is repaired by the transitive closure axiom. However, we leave open the question of the various axioms of set theory that can be added or removed from our choice of axioms: both for weaker theories, for instance without the Transitive Closure axiom and for stronger theories, for instance with the collection scheme, the axiom of choice or the continuum hypothesis.

Finally, the fact that set operations need to be decomposed into more atomic operations raises the question of the relevance of the choice of the notion of set for the foundation of mathematics. It might be the case that founding mathematics directly on the notion of graph would be more convenient.

# References

1. P. Aczel. Non well-founded sets. *Center for the Study of Language and Information, Stanford*, 1988.
2. P. Aczel. On relating type theories and set theories. In T. Altenkirch, W. Naraschewski, and B. Reus, editors, *Types for proofs and programs*, volume 1657 of *Lecture Notes in Computer Science*, pages 1–18. Springer, 1999.

3. M. Crabbé. Non-normalisation de ZF. Manuscript, 1974.

4. M. Crabbé. Stratification and cut-elimination. *The Journal of Symbolic Logic*, 56(1):213–226, 1991.

5. G. Dowek, Th. Hardin, and C. Kirchner. Theorem proving modulo. *Journal of Automated Reasoning*, 31:33–72, 2003.

6. G. Dowek and A. Miquel. Relative normalization. Manuscript, available from the web pages of the authors, 2006.

7. G. Dowek and B. Werner. Proof normalization modulo. *The Journal of Symbolic Logic*, 68(4):1289–1316, 2003.

8. G. Dowek and B. Werner. Arithmetic as a theory modulo. In J. Giesel, editor, *Term Rewriting and Applications*, volume 3467 of *Lecture Notes in Computer Science*, pages 423–437. Springer, 2005.

9. O. Esser and R. Hinnion. Antifoundation and transitive closure in the system of Zermelo. *Notre Dame Journal of Formal Logic*, 40(2):197–205, 1999.

10. H. Friedman. Some applications of Kleene's methods for intuitionistic systems. In *Cambridge Summer School in Mathematical Logic*, volume 337 of Springer Lecture Notes in Mathematics, pages 113–170. Springer-Verlag, 1973.

11. J.-Y. Girard. Une extension de l'interprétation de Gödel à l'analyse et son application à l'élimination des coupures dans l'analyse et la théorie des types. In *J.E. Fenstad (Ed.), Second Scandinavian Logic Symposium*. North-Holland, 1970.

12. J.-Y. Girard. *Interprétation fonctionnelle et élimination des coupures dans l'arithmétique d'ordre supérieur*. PhD thesis, Université de Paris 7, 1972.

13. J.-L. Krivine. *Théorie des ensembles*. Cassini, 1998.

14. J.-L. Krivine. Typed lambda-calculus in classical Zermelo-Fraenkel set theory. *Archive for Mathematical Logic*, 40(3):189–205, 2001.

15. J.-L. Krivine. Dependent choice, 'quote' and the clock. *Theoretical Computer Science*, 308:259–276, 2003.

16. D. McCarty. *Realizability and Recursive Mathematics*. PhD thesis, Ohio State University, 1984.

17. P.-A. Melliès and B. Werner. A generic normalization proof for pure type systems. In E. Gimenez and Ch. Paulin-Mohring, editors, *Types for Proofs and Programs*, Lecture Notes in Computer Science, pages 254–276, 1998.

18. A. Miquel. *Le calcul des constructions implicite: syntaxe et sémantique*. PhD thesis, Université de Paris 7, 2001.

19. A. Miquel. A strongly normalising Curry-Howard correspondence for IZF set theory. In *Proceedings of CSL'03*, volume 2803 of Lecture Notes in Computer Science, pages 441–454, 2003.

20. A. Miquel. Lamda-Z: Zermelo's Set Theory as a PTS with 4 sorts. In Jean-Christophe Filliâtre, Christine Paulin-Mohring, and Benjamin Werner, editors, *TYPES*, volume 3839 of Lecture Notes in Computer Science, pages 232–251. Springer, 2004.

21. J. Myhill. Some properties of intuitionistic Zermelo-Fraenkel set theory. In *Cambridge Summer School in Mathematical Logic*, volume 337 of Springer Lecture Notes in Mathematics, pages 206–231. Springer-Verlag, 1973.

22. H. Rasiowa and R. Sikorski. *The mathematics of metamathematics*. Polish Scientific Publishers, 1963.

23. B. Werner. Sets in types, types in sets. In *Theoretical Aspects of Computer Software*, volume 1281 of Lecture Notes in Computer Science, pages 530–546, 1997.