 # Adding an Abstraction Barrier to ZF Set Theory

Much mathematical writing exists that is, explicitly or implicitly, based on set theory, often Zermelo-Fraenkel set theory (ZF) or one of its variants. In ZF, the domain of discourse contains only sets, and hence every mathematical object must be a set. Consequently, in ZF, with the usual encoding of an ordered pair ⟨ a, b⟩, formulas like {a}∈⟨ a, b ⟩ have truth values, and operations like 𝒫 (⟨ a, b⟩) have results that are sets. Such 'accidental theorems' do not match how people think about the mathematics and also cause practical difficulties when using set theory in machine-assisted theorem proving. In contrast, in a number of proof assistants, mathematical objects and concepts can be built of type-theoretic stuff so that many mathematical objects can be, in essence, terms of an extended typed λ-calculus. However, dilemmas and frustration arise when formalizing mathematics in type theory. Motivated by problems of formalizing mathematics with (1) purely set-theoretic and (2) type-theoretic approaches, we explore an option with much of the flexibility of set theory and some of the useful features of type theory. We present ZFP: a modification of ZF that has ordered pairs as primitive, non-set objects. ZFP has a more natural and abstract axiomatic definition of ordered pairs free of any notion of representation. This paper presents axioms for ZFP, and a proof in ZF (machine-checked in Isabelle/ZF) of the existence of a model for ZFP, which implies that ZFP is consistent if ZF is. We discuss the approach used to add this abstraction barrier to ZF.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

### 1.1 Background: Set Theory and Type Theory as Foundations

A large portion of the mathematical literature is based on set theory, explicitly or implicitly, directly or indirectly. Set theory is pervasive in mathematical culture. University mathematics programmes have introductory courses on set theory and many other courses that rely heavily on set-theoretic concepts (sets, classes, etc.), notation (comprehensions a.k.a. set-builders, power set, etc.), and reasoning.

Formal foundations for mathematics have been developed since the early 20th century, with both set-theoretic and type-theoretic approaches being considered. Although there are a number of set-theoretic foundations, for this paper it is sufficient to consider Zermelo-Fraenkel set theory (ZF), which anyway seems to be broadly accepted and reasonably representative of the strengths and weaknesses of set theory in actual practice. The core concept of ZF is the set membership relation , which acts on a domain of objects called sets. The theory is a collection of formulas (known as axioms) of first-order logic which characterise the membership relation. Logical deduction from these axioms yields a rich theory of sets. Moreover, mathematical objects such as ordered pairs, functions, and numbers can be represented as sets in ZF.

At roughly the same time as Zermelo was formulating his axiomatic set theory, Russell introduced the first type theory. Both Zermelo and Russell had the goal of rigorous, formal, logical reasoning free from the paradoxes that plagued the earlier systems of Cantor and Frege. Most modern type theories are descendants of Church’s typed -calculus [kubota]. Many of the methods of modern type theory have been developed by computer scientists to solve problems in programming languages and formal verification. Types add layers of reasoning that help with soundness and representation independence. Some type theories have been used to formulate foundations of mathematics in which mathematical objects (e.g., groups, rings, etc.) are represented by terms and types of what is essentially a very fancy typed -calculus.

inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Maybe discuss the Curry-Howard correspondence.inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Type-theoretic proof systems such as Coq, Agda, Lean.inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Important: Compare with HOL!inline, color=blue!40inline, color=blue!40todo: inline, color=blue!40Ciaran: More benefits of type theory?

Formalizing mathematics that has been developed in a set-theoretic culture using a type-theoretic foundation can lead to dilemmas and frustration [harrison]. Subtyping may not work smoothly when formalising chains of structures such as the number systems and those belonging to universal algebra. There are also design choices in how to model predicates which can make proving some things easier but other things much harder. The rules of powerful type systems are also very complicated, so users require machine assistance to follow the typing rules, and even with machine support it can be quite challenging. In contrast, ZF-like set theories typically have very few ‘types’, e.g., there might be a type of sets and a type of logical formulas or perhaps a type of classes. When nearly every mathematical object you need is of ‘type set’ it is easy to obey the typing rules.

There are problems formalizing mathematics in pure ZF set theory also. When everything is of ‘type set’, a computer proof system has no easy way to know that it would be wasting its time to try to prove a theorem about ordinal numbers using lemmas and tactics for groups or rings, so automated support is more challenging. When representing mathematical objects (e.g., numbers) as sets, the bookkeeping of the intended ‘type’ of these objects is not avoided, but must be managed by the user outside the realm of a type system. In many not-too-tricky cases, a type inference algorithm can automatically infer type information that represents necessary preconditions for successful use of theorems and lemmas, but in pure set theory such automated inference is not very useful when the only type is ‘set’.

Furthermore, practical computerisation in ZF requires abbreviation and definition mechanisms which first-order logic does not provide. Two contrasting examples of how this can be done are Metamath and Isabelle/ZF. Metamath [metamath] is mostly string based, and has ‘syntax definitions’ to introduce new constants, or syntax patterns. These definitions are given meaning by ‘defining axioms’ (whose correctness is not checked by the verifier). Isabelle/ZF is built on top of Isabelle/Pure, which is a fragment of intuitionistic higher-order logic that is based on Church’s typed -calculus [paulson]. This means that meta-level activities such as variable binding, definitions, and abbreviations are handled by Isabelle/ZF in a type theory, albeit a very simple type theory. Isabelle also handles proof tactics in SML, which can be seen as another typed -calculus.

inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: list computer proof systems that target ALL mathematics and (1) use a set-theoretic foundation of mathematics, (2) use a type-theoretic foundation of mathematics, or (3) don’t fit in either of the two previous categories.

### 1.2 The Issue of Representation and the Case of the Ordered Pair

As discussed above, set theory can represent a multitude of mathematical objects as sets, but in some cases the user might prefer that some of their mathematical objects are genuinely not sets. The alternative of using a sophisticated type-theoretic foundation might not be the right solution, for a variety of reasons, some of which are mentioned above. So the user might ask: “May I please have a set theory which has genuine non-sets that I can use for purpose XYZ?”

There are indeed set theories with non-set objects [holmes], which are generally known as urelements, so named because they are often considered to be primordial, existing independently of and before the sets. A popular use for urelements is as ‘atoms’ whose only properties are being distinct from everything else and existing in large enough multitudes. Adding genuine non-sets takes some work, because the assumption that ‘everything is a set’ is deeply embedded in ZF’s axioms. One example is the axiom of Extensionality,

 ∀x,y:(∀a:a∈x↔a∈y)→x=y

which asserts that any two objects are equal if they have exactly the same set members. Because non-set objects of course have no set members, this ZF axiom forces them all to equal the empty set, meaning there can not be any.

Existing set theories with urelements generally (except see GST below) do not consider urelements with ‘internal’ structure that might include sets. The ordered pair is a simple and important example of a mathematical object with ‘internal’ structure which is not usually intended to be viewed as a set. Ordered pairs have been of enormous value in building theories of relations, functions, and spaces. The most widely used set-theoretical definition, by Kuratowski, defines the ordered pair to be the set . Because is in all sets in and is only in one, a first-order logic formula using only the membership relation can check if an object is the first (or second) projection of an ordered pair. Kuratowski pairs satisfy the characteristic property of ordered pairs:

 ⟨a,b⟩=⟨c,d⟩↔(a=c∧b=d)

Like for any ZF representation of mathematical objects not thought of as sets, Kuratowski pairs have ‘accidental theorems’ such as , and , and with Von Neumann numbers.

The set representation of conceptually non-set objects raises issues. There are places in the literature where some mathematical objects are thought of as (or even explicitly stated to be) non-sets with no set members. One can find definitions or proofs by cases on ‘type’ that assume the case of sets never overlaps with the cases of pairs, numbers, etc. To view such writing as being founded on pure set theory requires either proving that none of the sets used overlap with the set representations used for abstract objects or inserting many tagging and tag-checking operations (see, e.g., the translation we give in 6 as part of proving a model for our system ZFP can be built in the pure set theory ZF). When formalizing and machine-checking mathematics, additional difficulties arise, some of which are mentioned above.

### 1.3 ZFP: Extending ZF Set Theory with Primitive Ordered Pairs

We aim to go beyond previous set theories with urelements to develop methods for extending set theories with genuine non-set objects whose internal structure can contain other objects including the possibility of sets. As a first instance of this aim, we achieve the objective of ZFP, a set theory with primitive non-set ordered pairs such that there is no limit on the ‘types’ of objects that sets and ordered pairs may contain. We axiomatise ZFP and prove its consistency relative to ZF. We hope that our explanation of how we did this will be useful guidance for other work extending set theories.

ZFP extends with two new binary predicate symbols, and , whose intended meanings are ‘is first projection of’ and ‘is second projection of’. We define abbreviations for formulas and that distinguish sets and ordered pairs by the rule that an ordered pair has a first projection and a set does not. ZFP’s axioms are in two groups, one for sets and one for ordered pairs. We were able to generate nearly all of ZFP’s axioms for sets by modifying the axioms of ZF by restricting quantifiers using in the right places. The axiom of Foundation needed to be modified to handle sets and ordered pairs simultaneouslyinline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: and to implement our decision that there could not be infinite descending chains via ordered pairs which enabled building a model in a way similar to building models for ZF. ZFP’s axioms for ordered pairs specify the expected abstract properties, including that ordered pairs have no set members.

To prove ZFP is consistent if ZF is, we construct in ZF a model and prove it satisfies ZFP’s axioms [enderton]color=red!40color=red!40todo: color=red!40Joe: purpose of citation unclear to reader. Building a model for a set theory with non-set objects with ‘internal’ structure that can include sets differs from building a model for a set theory with no urelements or with only simple urelements, because there can be new non-set objects at each stage of the construction. W, the domain of our model, is similar to the domain V of the Von Neumann hierarchy. Each tier of V is constructed by taking the power set of the previous tiers. In contrast, when building the tiers of W, each successor tier is formed by taking the disjoint sum of the power set and the cartesian product . Hence every object in W has a tag that tells whether it is intended to model a set or an ordered pair. This supports defining relations that model ZFP’s , , and which may only return true when their second argument is of the correct ‘type’. This proof has been machine-checked in Isabelle/ZF.111See http://www.macs.hw.ac.uk/~cmd1/cicm2020/ZFP.thy for the source, and http://www.macs.hw.ac.uk/~cmd1/cicm2020/ZFPDoc/index.html for the HTML.

Although our model for ZFP is built purely of sets and implements ordered pairs as sets, another model could use other methods (e.g., type-theoretic) and implement ordered pairs differently. Hence, we have put an ‘abstraction barrier’ between the user of ZFP and the implementation of ordered pairs.

### 1.4 Related Work

Harrison [harrison] details the challenges that face both type-theoretic and set-theoretic foundations for formalised mathematics. Harrison makes the case for using set theory as ‘machine code’, leaving theorem proving to layers of codecolor=red!40color=red!40todo: color=red!40Joe: huh?. Harrison suggests using a set theory with urelements to avoid the issue of ‘accidental theorems’. Weidijk [wiedijk] formulates axiomatic set theories and type theories in AutoMath in order to compare them and assess their relative complexity.

inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Discuss Mizar!

A significant work aiming to make computer formalisation of set-theoretical mathematics practical is Farmer’s Chiron [farmer], a conservative extension of the set theory NBG (itself a conservative extension of ZF). Chiron has additional features such as support for undefinedness, definite descriptions, quotation and evaluation of expressions, and a kind of types.

Aczel and Lunnon worked on Generalised Set Theory (GST) [aczel] with the aim of better supporting work in situation theorycolor=red!40color=red!40todo: color=red!40Joe: weird to mention Lunnon but not cite anything by her. GST extends set theory with a mechanism for primitive functions, as well as a number of other features. It appears that GST assumes the Anti-Foundation axiom instead of Foundation which ZF uses. Unfortunately, we failed to find a specification of the axioms of GST. Part of GST seems similar to our work but a technical comparison is difficult without the axioms.

Although ordered pairs now seem obvious, Kanamori’s excellent history [kanamori] shows a sequence of conceptual breakthroughs were needed to reach the modern ordered pair. How we built a model for ZFP was heavily inspired by the way Barwise [barwise] interprets KPU (Kripke-Platek set theory with Urelements) in KP.

inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Holmes has a big book based I think on NFU in which ordered pairs are considered as urelements. We must cite and discuss this!

### 1.5 Outline

sec:fol-zf presents and discusses the first-order logic we use and definitions and axioms of ZF. sec:zfp presents and discusses ZFP in the form of definitions and two collections of axioms, one for sets, and one for ordered pairs. sec:zfp-model proves the existence in ZF of a model for the axioms of ZFP (which implies that ZFP is consistent if ZF is). sec:future discusses the significance of these results, and how they will be used in further investigation.

## 2 Formal Machinery

Let be meta-level notation meaning that stands for .

### 2.1 First-Order Logic with Equality

We use a fragment of first-order logic (FOL) with equality sufficient for defining ZF and ZFP. We consider only four binary infix predicate symbols including equality. The MBNF [mbnf] specification of the syntax is:

 a,…,z˙∈Var\coloncolonequalsv0∣v1∣⋯∼˙∈Pred\coloncolonequals∈∣π1∣π2∣=A,…,Z˙∈Term\coloncolonequalsx∣\rotatebox[origin=C]180.0$ι$x:φφ,ψ˙∈Form\coloncolonequalsX∼Y∣φ→ψ∣¬φ∣∀x:φ

We work with terms and formulas modulo -conversion where and bind . Except where explicitly specified otherwise, we require metavariables ranging over the set to have the attribute of distinctness. Two different metavariables with the distinctness attribute can not be equal. For example, and and could hold simultaneously, but neither nor are allowed. This restriction applies only to metavariables: the same object-level variable can be used in nested scopes, e.g., the formula is fine and equal to . We assume the usual abbreviations for logical connectives (, , ), for quantifiers (, , , ), and for predicate symbols (, , ). inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Specify precedence and associativity, including for operators defined by abbreviations.

A term can be a definite description which, if there is exactly one member of the domain of discourse such that the formula is true, evaluates to that member and otherwise evaluates to a special value outside the domain of discourse such that any predicate symbol (including equality) with as an argument evaluates to false.222When working with functions that might be applied outside their domain, one might prefer to have , but this is a bit more complex and not needed for this paper. A term is said to be undefined or to have no value iff it evaluates to . An alternative specification of definite descriptions that gives formulas the same meanings is eliminating them by the following rule (only the left case is given; the right case is similar):

 ((\rotatebox[origin=C]180.0ιx:φ)∼Y)\colonequals(∃x:x∼Y∧φ)∧∃!x:φ where x is not free in Y

### 2.2 Zermelo-Fraenkel Set Theory

The only predicate symbols ZF uses are the membership relation and equality. ZF makes no use of the FOL predicate symbols and , but instead we define these symbols as parts of abbreviations in subsection 2.3. We use the following abbreviations where and , , , , and are not free in the other arguments and is not free in :

 (∀b∈X:φ)\colonequals(∀b:b∈X→φ)(∃b∈X:φ)\colonequals(∃b:b∈X∧φ)∪X\colonequals(\rotatebox[origin=C]180.0$ι$y:∀a:a∈y↔∃z∈X:a∈z)X⊆Y\colonequals(∀c∈X:c∈Y){A,B}\colonequals(\rotatebox[origin=C]180.0$ι$x:∀c:c∈x↔(c=A∨c=B))X∪Y\colonequals∪{X,Y}P(X)\colonequals(\rotatebox[origin=C]180.0$ι$y:∀z:z∈y↔z⊆X){A}\colonequals{A,A}{A1,…,An}\colonequals{A1}∪{A2,…,An}∅\colonequals(\rotatebox[origin=C]180.0$ι$x:∀a:a∉x)\omit\span\omit{b∈X∣φ}\colonequals(\rotatebox[origin=C]180.0$ι$y:∀b:b∈y↔(b∈X∧φ))X+\colonequalsX∪{X}

These abbreviations are defined if their arguments are defined due to the axioms. inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: Warning: These are essentially macros, not predicate symbols or function symbols specified by axioms. For brevity they don’t take the necessary care to handle undefined arguments in an intuitive way. For example both and hold.

###### Definition 1

The axioms of ZF are all the instances of the following formulas for every formula with free variables at most , , and .

1. Extensionality:

2. Union:

3. Power Set:

4. Infinity (ugly version; see pretty version below):

5. Replacement:

6. Foundation:

The axioms are due to Zermelo, except for Replacement which is due to Fraenkel and Skolem [ebbinghaus] and Foundation which is due to Von Neumann. Extensionality asserts that sets are equal iff they contain the same members. Union and Power Set state that and are defined if is defined; this implies the domain of discourse is closed under and . Infinity states that there exists a set containing which is closed under the ordinal successor operation; from this we can extract the Von Neumann natural numbers . Here is a prettier presentation of Infinity that we do not use as the axiom to avoid bootstrap confusion333Provided some object exists, Replacement can build , and then further axiom use can build operations like , , , and , thus ensuring the terms and are defined in the pretty version of Infinity. We prefer getting that initial object from an axiom over using the FOL assumption that the domain of discourse is non-empty. The only axiom giving an object for free is Infinity. We find it confusing to use Infinity in proving the definedness of subterms of itself, so we don’t.:

 ∃y:∅∈y∧(∀x∈y:x+∈y)

The powerful infinite axiom schema Replacement asserts the existence of the range of a function determined by any formula where the values of the variables and that make true have a functional dependency of on and where the domain of the function exists as a set. Foundation enforces the policy that there are no infinite descending chains of the form .

###### Lemma 1

The following theorems of ZF are often presented as axioms. For every formula such that any free variable must be , the following hold in ZF:

1. Empty Set:

2. Pairing:

3. Specification:

### 2.3 Ordered Pairs in ZF

We define the Kuratowski ordered pair and related operations as follows where , , , and are not free in , , and :

 ⟨A,B⟩\colonequals{{A},{A,B}}Aπ1Q\colonequals(∀x∈Q:A∈x)Bπ2Q\colonequals(∃!x∈Q:B∈x)A×B\colonequals(\rotatebox[origin=C]180.0$ι$x:∀p:p∈x↔(∃c∈A,d∈B:p=⟨c,d⟩))

We call and the first and second projections of respectively. The first projection of an ordered pair is in all sets in , whereas the second is only in one.444This holds even in the case of . The projection relations and only give meaningful results when the set on the right side of the relation is an ordered pair, i.e., this holdscolor=red!40color=red!40todo: color=red!40Joe: this is not the characteristic property of ordered pairs:

 (∃c,d:Q=⟨c,d⟩)→(∀a,b:(aπ1Q∧bπ2Q)↔Q=⟨a,b⟩)

Kuratowski ordered pairs are sets and have set members that are distinct from their projections. In fact, no matter which representation we use, there will always exist some such that (for all but at most one ordered pair which can be represented by ). If and are defined, we can show the cartesian product is defined using Replacement nested inside Replacement555The traditional construction of as is only needed if the weaker Specification is preferred over Replacement. We avoid the traditional construction because it depends on a set representation of ordered pairs and thus will not work for ZFP.:

 A×B=∪{z∣∃c∈A:z={p∣∃d∈B:p=⟨c,d⟩}}

## 3 Extending ZF to ZFP

This section introduces Zermelo-Fraenkel Set Theory with Ordered Pairs (ZFP), a set theory with primitive non-set ordered pairs. ZFP axiomatises the membership predicate symbol similarly to ZF. The ordered pair projection predicate symbols and are axiomatised in ZFP instead of being abbreviations that use as in ZF. Ordered pairs in ZFP qualify as urelements because they contain no members via the set membership relation , but they are unusual urelements because they can contain arbitrary sets via the and relations.

### 3.1 Definitions and Axioms of ZFP

We use the metavariables , , , and where it might help the reader to think ‘ordered pair’, and the metavariables , , , , , , and where it might help the reader to think ‘set’; this convention has no formal status and all FOL variables continue to range over all objects in the domain of discourse. We call a member of iff . We call a projection of iff or . An ordered pair is any object with a projection, and a set is any object that is not an ordered pair. We use the following abbreviations where is not free in and and is not free in and :

 Pair(Q) \colonequals ∃b:bπ1QSet(X) \colonequals ¬Pair(X)∀Pairp:φ \colonequals ∀p:Pair(p)→φ∀Setx:φ \colonequals ∀x:Set(x)→φ∃Pairp:φ \colonequals ∃p:Pair(p)∧φ∃Setx:φ \colonequals ∃x:Set(x)∧φ\rotatebox[origin=C]180.0$ι$Pairp:φ \colonequals \rotatebox[origin=C]180.0$ι$p:Pair(p)∧φ\rotatebox[origin=C]180.0$ι$Setx:φ \colonequals \rotatebox[origin=C]180.0$ι$x:Set(x)∧φ(A,B) \colonequals (\rotatebox[origin=C]180.0$ι$q:Aπ1q∧Bπ2q)

We reuse the text of the abbreviation definitions for ZF for , , , and where . We redefine the following abbreviations a bit differently for ZFP, where , , , , , , and are not free in , , and :

 X⊆Y \colonequals Set(X)∧Set(Y)∧(∀c∈X:c∈Y)∪X \colonequals (\rotatebox[origin=C]180.0$ι$Sety:∀a:a∈y↔∃z∈X:a∈z)P(X) \colonequals (\rotatebox[origin=C]180.0$ι$Sety:∀z:z∈y↔z⊆X)∅ \colonequals (\rotatebox[origin=C]180.0$ι$Setx:∀a:a∉x){b∈X∣φ} \colonequals (\rotatebox[origin=C]180.0$ι$Sety:∀b:b∈y↔(b∈X∧φ))A×B \colonequals (\rotatebox[origin=C]180.0$ι$x:∀p:p∈x↔(∃c∈A,d∈B:p=(c,d)))

These abbreviations are defined if their arguments are defined due to the axioms.

inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: In ZFP

holds. This is probably not what we want for a practical version of the system.

###### Definition 2

The axioms of ZFP are all the instances of the following formulas for every formula with free variables at most , , , .

• Sets:

1. [label=S0., ref=S0]

2. Set Extensionality:

3. Union:

4. Power Set:

5. Infinity (ugly version): .inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: The set witnessing Infinity can contain ordered pairs and for each such ordered pair will contain also .

6. Replacement:

7. Foundation:

• Ordered Pairs:

1. [label=P0., ref=P0]

2. Ordered Pair Emptiness:

3. Ordered Pair Formation:

4. Projection Both-Or-Neither:

5. Projection Uniqueness:

6. Ordered Pair Extensionality:

###### Lemma 2

For every formula such that any free variable must be , the following hold in ZFP:

1. Unordered/Set Pairing: color=red!40color=red!40todo: color=red!40Joe: Proven that pairing and specification are derivable?

2. Specification:

3. Cartesian Product Existence:

For 2 (3), note that the cartesian product can be built in ZFP using the same construction given for ZF in subsection 2.3, which does not depend on any set representation of ordered pairs.

### 3.2 Discussion

#### 3.2.1 Axioms for Sets.

Each ZF axiom was transformed to make a ZFP axiom. First, because we use abbreviations for more readable axioms, those used in axioms needed to be modified for ZFP. The definition of (used in Power Set) was changed to ensure an ordered pair is neither a subset nor has a subset. The definition of (used in Foundation) was changed to ensure a defined result.

Second, some occurrences of and needed to enforce that can be true only when stands for a set. Where needed, such occurrences were changed to respectively . Each quantifier needed individual consideration. If the sethood of was already enforced by only being true when has at least 1 set member, there was no need for a change but a change might also clarify the axiom. If the truth of was unaffected by any set members of , there was no need for a change and this generally indicated that a change would go against the axiom’s intention. We needed to understand the axiom’s intention and expected usage because it was not written to specify where it is expected that ‘ is a set’ (because this always holds in ZF).

Finally, Foundation was extended to enforce a policy of no infinite descending chains through not just but also and , so that ZF proofs using Kuratowski ordered pairs (having no such chains) would continue to work in ZFP.

Consider the example of Power Set which states that for any set there exists a set containing all of the subsets of and nothing else, i.e., :

 ∀Setx:∃y:∀z:(z∈y↔z⊆x)

We could have left as , because when is an ordered pair it would act like and this would only add another reason that exists. However, we thought this would be obscure. It would not hurt to change to but there is no need to do so because the body forces to contain a set member and hence rejects being an ordered pair. We did not change to because this would allow to contain extra junk ordered pairs that proofs expecting to get would have to do extra work using Replacement to filter out.

#### 3.2.2 Axioms for Ordered Pairs.

The ZFP axioms for ordered pairs specify the abstract properties of ordered pairs via the relations and . These ordered pairs have no ‘type’ restrictions, i.e., each pair projection can be either a set or an ordered pair. Ordered Pair Emptiness (1) ensures that no object has both a projection (ordered pairs only) and a set member (sets only). Ordered Pair Formation (2) ensures that for every two objects and there exists an ordered pair with as first projection and as second. Projection Both-Or-Neither (3) ensures that every object either has no projections (sets) or both projections (ordered pairs). Projection Uniqueness (4) ensures each ordered pair has exactly one first projection and one second projection. Ordered Pair Extensionality (5) ensures that for every choice of first and second projections, there is exactly one ordered pair.

#### 3.2.3 Comparing the Objects and Theorems of ZF and ZFP.

A set is pure iff all its members are pure sets. Each ZF object is a pure set and is also a pure set of ZFP, but ZFP has additional impure sets which have members that are primitive ordered pairs or impure sets, and ZFP also has primitive ordered pairs. The set membership relation of ZF is the restriction of the relation of ZFP to pure sets. Let be a formula (implemented with transfinite recursion) that holds in ZFP when is a pure set. For every ZF formula , let be the ZFP formula obtained from by changing each subformula to . Then is a ZF theorem iff is a ZFP theorem. If one wants to go the other direction and take a ZFP formula and find a ZF formula that ‘does the same thing’, one must represent as ZF sets both (1) the primitive ordered pairs and (2) the sets of ZFP, and then one must either prevent or somehow manage the possible confusion between the representations of (1) and (2). sec:interpreting-zfp-zf is an example of doing this rigorously.

#### 3.2.4 Design Alternatives.

We considered having the projections and be unary FOL function symbols, but this would require the term to denote an object within the domain of discourse for every set , so we avoided this. We considered having the pairing operator be a binary FOL function symbol. Using a binary function symbol would mean the graph model would have hyperedges (i.e., connecting 3 or more nodes) which is more difficult to think about. Because we used two separate binary predicate symbols, one for each projection, we get a fairly standard-looking directed-graph model with ordinary edges. If we used a binary FOL function symbol for pairing, we could replace our axioms 2, 3, 4, and 5 by the characteristic property of ordered pairs:

 ∀a,b,c,d:(a,b)=(c,d)→(a=b∧c=d)

Our axioms can be seen as the result of applying a function-symbol-elimination transformation to this alternative.

Very early on, we considered simply using ZF’s axioms as they are, adding a binary pairing function symbol, and adding the characteristic property of ordered pairs as an axiom. In this theory, formulas such as would be independent, because the representation of ordered pairs would be unknown (and need not even be definable in ZF), so some ‘junk theorems’ would no longer hold. We avoided this alternative for many reasons. First, Extensionality would force all but one ordered pair (which could be ) to have set members, so there would be ‘junk theorems’ such as . Second, we could not see how to do transfinite induction and recursion. Third, genuine non-sets make it easier to talk about the distinction between sets and conceptually non-set objects, e.g., to students. Fourth, we hope our approach might help a weak form of ‘type checking’, where a prover might more quickly solve or disprove subgoals, and if a user mistakenly requires a non-set to have a set member, this might be detected earlier and result in a more understandable failure message. Some further reasons are discussed in section 1.

## 4 A Model of ZFP

We define within ZF a model for ZFP, i.e., an interpretation of the domain and predicate symbols of ZFP. A translation from a ZFP formula to a ZF formula is defined to interpret ZFP formulas in the model. Terms and formulas in this section belong to ZF except for the arguments of . All axioms of ZFP hold under this translation, which implies that if ZF is consistent, so is ZFP [enderton]. That each axiom’s translation holds has been checked in Isabelle/ZF.

### 4.1 The Cumulative Hierarchy W

Like the Von Neumann universe V used as the domain of a model of ZF, our domain W is a set hierarchy indexed by ordinal numbers.

An ordinal is a transitive set that is totally ordered by , which we specify formally by inline, color=red!40inline, color=red!40todo: inline, color=red!40Joe: The definition of needs a condition to be safely used on definite descriptions.. Let and range over ordinals. Let , , , and so on. Ordinal is a successor ordinal iff for some . Ordinal is a limit ordinal iff is neither nor a successor ordinal. Let range over limit ordinals. Let and define related symbols (e.g., ) as usual.

Any model of ZFP must have some way of distinguishing between the objects in its domain representing ZFP sets, and those that represent ZFP pairs, i.e., ZFP needs a domain split into two disjoint subdomains. We model this in ZF using Kuratowski ordered pairs and cartesian products to tag all domain objects with (‘set’) or (‘ordered pair’).

###### Definition 3

For ordinal , define the set via transfinite recursion thus:

 W0=∅,Wβ+=({0}×P(Wβ))∪({1}×(Wβ)2),Wλ=⋃β∈λWβ

Starting from , each successor tier is built by taking the disjoint union of the power set and cartesian square of the previous tier. Each limit tier is the union of all preceding tiers. The use of disjoint union to build each successor tier gives a set-theoretic universe split into two. Although our disjoint union uses Kuratowski pairs with 0 and 1 tags, we could use instead any two definable injective operators from a large enough class (e.g., the universe) to disjoint classes that raise rank by at most a constant.

Let W be the proper class such that iff for some . We use a bold upright serif font to emphasize that W is not a ZF set.666W is a mathematical object in some other set theories. By the transfinite recursion theorem, given there is a definite description that evaluates to when evaluates to .777A nested definite description is used that specifies the function such that for , i.e., is an initial prefix of the hierarchy. Then is returned. We express belonging to W as follows:

###### Definition 4

.

Let an m-object be any member of W (i.e., a ZF set such that holds), an m-set be any m-object of the form , and an m-pair be any m-object of the form . The following result says every m-object is either an m-set or an m-pair, and tells where in the hierarchy the contents of are.

###### Lemma 3

Suppose , so that . Then for some either:

 x=⟨0,x′⟩ where x′⊆Wβ,orx=⟨1,⟨a,b⟩⟩ where a,b∈Wβ.

It holds that W is a cumulative hierarchy:

If , then .

### 4.2 Interpreting ZFP in ZF

As explained above, we interpret the sets and ordered pairs of ZFP as the members of W. thm:zset-or-zpair says any m-object is an ordered pair whose left projection is an integer which decides its ‘type’ and whose right projection is either a set or an ordered pair. We define our interpretations of ZFP’s predicate symbols:

###### Definition 5

Let , , and be defined by these abbreviations:

 aˆ∈x \colonequals (∃y:x=⟨0,y⟩∧a∈y)aˆπ1p \colonequals (∃u,v:p=⟨1,⟨u,v⟩⟩∧a=u)aˆπ2p \colonequals (∃u,v:p=⟨1,⟨u,v⟩⟩∧a=v)

W is downward closed under these three relationscolor=blue!40 color=blue!40 todo: color=blue!40 Ciaran: downwards closed is a property of partially ordered sets, and here W isn’t even a math object, so unsure how to state this. That is:

###### Lemma 5

Suppose , i.e., for some . Suppose , , or for some . Then for some , and thus .

To interpret a ZFP formula in ZF, we must show the formula holds when quantification is restricted to the domain W, and the predicate symbols are replaced by the interpretations defined above.

###### Definition 6

Let be a ZFP formula. Define recursively as follows:

 (X∈Y)∗ \colonequals (X∗)ˆ∈(Y∗)(φ→ψ)∗ \colonequals (φ∗)→(ψ∗)(Xπ1Y)∗ \colonequals (X∗)ˆπ1(Y∗)(¬φ)∗ \colonequals ¬(φ∗)(Xπ2Y)∗ \colonequals (X∗)ˆπ2(Y∗)(∀x:φ)∗ \colonequals (∀x:H(x)→(φ∗))x∗ \colonequals x(\rotatebox[origin=C]180.0$ι$x:φ)∗ \colonequals (\rotatebox[origin=C]180.0$ι$x:H(x)∧(φ∗))
###### Lemma 6

.

Because the translation inserts quite a lot of extra structure, a ZFP user wanting to understand “the ZF formula corresponding to the ZFP formula ” might be tempted to instead translate ZFP’s directly to ZF’s and ZFP’s and to the ZF abbreviations for and defined in subsection 2.3. However, as discussed in subsection 1.2, the user then would need to carefully prove that no problems arise from the coincidences where a ZFP set and a ZFP primitive ordered pair would be represented by the same ZF set .

Observe that the ZFP abbreviations and from subsection 3.1 that act like unary predicates are interpreted in ZF as follows:

 Pair(x)∗\colonequals(∃a:H(a)∧aˆπ1x)Set(x)∗\colonequals¬(Pair(x)∗)

These predicates are clearly meaningful within the model because:

###### Lemma 7

Suppose that , then we have that:

 Pair(x)∗↔(∃a,b:x=⟨1,⟨a,b⟩⟩)Set(x)∗↔(∃y:x=⟨0,y⟩)

Now we reach our main result, which implies ZFP is consistent if ZF is [enderton]:

###### Theorem 4.1

For each ZFP axiom , the translation holds in ZF.

The proof of this theorem simply observes the conjunction of a number of lemmas, each of which shows for a ZFP axiom that holds in ZF. Most of these lemmas are straightforward. Here we show a representative example:

###### Lemma 8

The translation of ZFP’s Power Set axiom holds in ZF.

###### Proof

First, we find the translation using 6 and 6:

 ∀x:H(x)→(Set(x)∗→(∃y:H(y)∧∀z:H(z)→(zˆ∈y↔((z⊆x)∗))))

Let be such that , and suppose . By 7, for some set . Let where be our candidate for the power set. We must show that has the property , and also that is indeed a member of W. Fix and assume , then:

 zˆ∈y ↔z∈y′ by def of y and ˆ∈ ↔z∈{0}×P(x′) by def of y′ ↔∃z′:z=⟨0,z′⟩∧z′⊆x′ by def of × and P ↔Set(z)∗∧(∀a:aˆ∈z→aˆ∈x) since z=⟨0,z′⟩,z′⊆x′ ↔Set(z)∗∧Set(x)∗∧(∀a:aˆ∈z→aˆ∈x) since H(x), x=⟨0,x′⟩ ↔(z⊆x)∗ because H(z)

It now remains to show that . From , we have that for some ordinal . By 4, , and by 3, . Then:

 x′⊆Wα →P(x′)⊆P(Wα) →{0}×P(x′)⊆{0}×P(Wα) →y′⊆{0}×P(Wα) by def of y′ →y′⊆Wα+ because {0}×P(Wα)⊆Wα+ →y∈Wα++ by def of y=⟨0,y′⟩ →H(y) by def of H

## 5 Conclusion

### 5.1 Summary of Contributions

#### 5.1.1 Presenting ZF Set Theory using Definite Descriptions.

In section 2, we give a formal presentation of ZF that accounts for the technical details, whilst also defining notation for widely used operations. Although correct formal definitions of this notation can be found in computer implementations of set theory, we have not seen definite descriptions used for this in published articles. Definite descriptions allow defining terms in a compact and readable way without needing to add FOL function symbols, extend the model, or otherwise appeal to the meta-level. We show precisely how Kuratowski pairs and their operations are defined and highlight issues arising from their set representations.

#### 5.1.2 Axiomatizing ZFP.

Motivated by issues with the set representation in pure ZF set theory of conceptually non-set objects, in section 3 we introduce Zermelo-Fraenkel Set Theory with Ordered Pairs, which extends ZF with predicate symbols and and axioms to implement primitive non-set ordered pairs. ZFP is akin to some alternative set theories that use urelements as genuine non-set objects in the domain, with the difference that ZFP’s urelements have meaningful internal structure endowed by the axiomatisation of and . The design of ZFP is deliberately similar to that of ZF, so that we can better understand the relationship between the two theories. We axiomatize ZFP, and discuss how the axioms of ZF were modified to yield the axioms of ZFP. As a result, we gain a set theory with two types of individuals, both of which have a notion of ‘container’, which is unusual as urelements are usually structureless. The primitive ordered pairs of ZFP are unlike those typical of set theory, as they are free from any notion of representation.

#### 5.1.3 Showing ZFP Consistent.

In section 4, we construct a transfinite hierarchy to be the domain of a model for ZFP and we define relations on this domain to be interpretations for , , and . We show that the resulting structure satisfies the axioms of ZFP, i.e., it is a model for ZFP. As a result, we show ZFP is consistent if ZF is.

### 5.2 Future Work

#### 5.2.1 Model Theoretic Status of ZF and ZFP.

Axiomatisations of both ZF and ZFP are given within this paper, and we are aware that the sets of ZFP behave in a similar fashion to those in ZF. We suggest employing model-theoretic techniques to give a more detailed formal account of the relationship between the formulas of both theories, as well as the models.

#### 5.2.2 Implementing ZFP.

Preliminary experiments have taken place in implementing ZFP as an object logic for Isabelle. Further work on this will allow comparing mathematics formalised in ZF and in ZFP, and thus allow comparing the expressivity, and automatability of both theories. Moreover, there is already a large library of mathematics formalised in Isabelle/ZF. Once the formal relationship between ZF and ZFP has been established, we will attempt to translate mathematics between both bases.

#### 5.2.3 Towards Abstract Data Types in Set Theory.

In this paper we identified a role performed by some sets in ZF, namely the role of being an ordered pair for some representation (e.g., Kuratowski), together with the FOL abbreviations for their relations. We axiomatised a new set theory in which this role can be performed by non-set objects, yet maintain the same existence conditions and abstract behaviour of this role. We will attempt to abstract and adapt this method, to yield set theories in which the members of mathematical structures can be genuine non-sets dedicated to their role. We believe such a framework could be helpful when using set theory to formalise mathematics.