
Adding an Abstraction Barrier to ZF Set Theory Conference for Intelligent Computer Mathematics 2020 Ciar´anM. Dunne, J. B. Wells, and Fairouz Kamareddine http://www.macs.hw.ac.uk/~cmd1/ Pre-print: https://arxiv.org/abs/2005.13954 July 27, 2020 1 Foundations of Mathematics • Mathematical foundations are systems that use a small number of fundamental concepts to model the practice of mathematicians. • Such systems provide rigorous accounts of mathematical objects such as numbers, vectors, functions, groups and their properties. • Axiomatic set theories | particularly Zermelo-Frankel (ZF) with first-order logic (FOL) | are broadly accepted by mathematicians. • Type theories are foundations of mathematics often used in machine-assisted theorem proving, and also in programming languages. • Translation of mathematical text into a foundation is called formalisation. 2 Formalisation of Mathematics • Foundations are idealisations of mathematical practice, so formalisation requires significant translation. • Awkward compromises must constantly be made to fit the mathematics to the foundation. • Current foundations fail to accurately capture the practice of mathematicians. • We consider the consequences of founding a piece of mathematical text in ZF set theory to demonstrate one of these issues, and propose a solution to this particular issue. 3 Zermelo-Fraenkel Set Theory • ZF is a collection of axioms stated in first-order logic. • Initial system proposed by Ernst Zermelo (above) in 1909, amended by Abraham Fraenkel (below), von Neumann and Skolem in 1922. • The axioms describe a domain of objects called sets, and the behaviour of the set membership relation 2. • Logical deduction from these axioms provides us with a rich theory of sets. • Sets are used to represent mathematical objects, so that for many theorems about such objects there is a corresponding theorem about sets provable from ZF. 4 = Axiom of Extensionality 8 x; y :(8 a : a 2 x $ a 2 y) ! x = y \If two sets contain exactly the same members, then they are equal." [ P Axiom of Union 8 x : 9 y : 8 a : a 2 y $ (9 z 2 x : a 2 z) Axiom of Power Set \The union of all sets inside a set exists." 8 x : 9 y : 8 z : z 2 y $ z ⊆ x \The power set of a set exists." 5 Axiom Schema of Replacement 8 c1; c2; x :(8 a 2 x : 9! b :' ^(a; b)) ! (9 y : 8 b : b 2 y $ 9 a 2 x :' ^(a; b)) \For any formula' ^(a; b) with at most c1; c2; a; b free, if for each a 2 x there is a Axiom of Foundation unique b such that' ^(a; b) holds, then the set containing all such b exists`' 8 x : x = ;_ (9 y 2 x : y \ x = ;) \Every set is well-founded." • Used to define set-builder • Rules out infinitely descending notation: chains of sets X0 3 X1 3 · · · . f y j 9 x 2 B :' ^(x; y) g • e.g. no self-containing sets • Allows us to prove the existence X 2 X . of ;, fX ; Y g, f a 2 X j g. • Needed for results in set theory, as well as results such as the Borel determinacy theorem. 6 ··· succ succ succ Axiom of Infinity 9y : ; 2 y ^ (8x 2 y : succ(x) 2 y) succ(x) := x [ fxg \There exists a set containing ;, closed under the successor operation." • The von Neumann natural numbers can be defined as: 0 := ;; 1 := f0g; 2 := f0; 1g; 3 := f0; 1; 2g;::: • Infinity proves the existence of N, the natural numbers. • The set membership relation 2 acts like the < ordering on N. 7 Ordered Pairs in Set Theory • An ordered pair( a; b) is a container that holds two objects. • Any definition of ordered pairs must satisfy: Characteristic Property of Ordered Pairs (a; b) = (c; d) if and only if a = c and b = d. • Projection relations or functions { π1; π2 { are used to reason about the contents. For example: 3 π1 (3; 2) Definition Widely used set-theoretic definition given by Kuratowski in 1921: ha; bi = ffag; fa; bgg 8 Functions in ZF • Relations and functions are defined as sets of ordered pairs. • For relations, we define x R y := (x; y) 2 R. • For functions, f (x) is the unique y such that (x; y) 2 f . So for each x there must be at most one value y for which (x; y) 2 f . Example 2 A function that satisfies the formula 8 x 2 N : f (x) = x . 2 f := f hx; x i j x 2 N g = fh0; 0i; h1; 1i; h2; 4i; h3; 9i;:::g 9 Functions in ZF • A user may want to define a function acting on a domain containing sets and ordered pairs which satisfies the following logical constraints: • D = (N × N) [Pfin(N) • g : D ! N ( p + q if x = hp; qi for some p; q 2 N g(x) = • Pn i=1 pi if x = fp1;:::; png ⊆ N • Does ZF provide a function g satisfying the specification? • What is g (h0; 1i)? g (f1; 2g)? 10 Functions in ZF • From the specification, we might expect that g(h0; 1i) = 1, and g(f1; 2g) = 3. • However, by definition of Kuratowski ordered pairs: h0; 1i = ff0g; f0; 1gg. • By definition of von Neumann natural numbers: f1; 2g = ff0g; f0; 1gg. • So by definition of function, there must be only one y such that hff0g; f0; 1gg; yi 2 g, and hence only one result for g(h0; 1i) and g(f1; 2g). • What went wrong? 11 • The behaviour of the specified function is based on cases of the `type' of the object, which is only visible at the meta-level. • We assumed the cases were mutually exclusive, because N × N and Pfin(N) are considered to be disjoint, as ordered pairs are not usually thought of as sets. • We are using a naive Kuratowski Pairs translation of mathematical × text to ZF sets, roughly: N N ∗ ∗ ∗ Pfin(N) fb1;:::; bng = fb1;:::; bng (b; c)∗ = ffb∗g; fb∗; c∗gg ZF Sets (n + 1)∗ = n∗ [ fn∗g • Reasoning on a mixture of sets and objects represented by ZF sets requires us to ensure the collections of ZF sets in use are disjoint for each `type'. 12 Types? • In type-theoretic foundations, every typeable term x has at least one type τ, written x : τ. Example 42 : Nat (2; 5) : Nat ∗ Nat (·)2 : Nat ! Nat • Types are used to organise the operations that may be performed on objects, and characterise the objects that can exist. • Overloading of operations can be safely performed since type information can often be inferred by an algorithm. 13 Maybe Not. • Overloading allows us to define g1 : (Nat ∗ Nat) ! Nat and g2 : P(Nat) ! Nat, and then: 8 <g1(x) if the type of x is Nat ∗ Nat g(x) = :g2(x) if the type of x is P(Nat) • However, the typing rules are often very complicated, and require machine assistance to carry them out. • A large portion of mathematics is written as if it is founded in set theory. Formulating it in type theory may be confusing for mathematicians. 14 Tagging in Set Theory • What if we want to stay within set theory? g1 i1 N × N B1 i2 g2 B2 N Pfin(N) Definition i1 : N × N ! B1 i2 : Pfin(N) ! B2 such that i1; i2 are injective and B1 \ B2 = ;. Definition g1 : B1 ! N g2 : B2 ! N Pn g1(i1(hp; qi)) = p + q g2(i2(fp1;:::; png)) = i=1 pi 15 Tagging: Results • The function g can then be defined as g1 [ g2 with domain B1 [ B2, and the user may apply i1 and i2 tell g whether to use g1 or g2. • The mappings x 7! h0; xi, x 7! h1; xi are often used for i1; i2. • Tagging is ugly and annoying, as we would like to reason about sets and pairs without the use of tags. • If you don't want to do tagging, there isn't much choice for resolving this issue whilst staying within set-theoretic foundations. 16 What else? • Some set theories have non-set objects called atoms or urelements, though they usually have no relational structure. • Long term goal: a set theory with an information hiding mechanism in which the user can specify a set-theoretic representation of a class of mathematical objects, and hide the gritty details using genuine non-sets. • These special non-sets will have the properties of a set representation provided by the user, but without the properties the user considers irrelevant. • As a first instance of this aim, we arrive at ZFP (ZF with Ordered Pairs), which hides the representation of ordered pairs. 17 ZFP: Zermelo-Fraenkel Set Theory with (Ordered) Pairs Introduction to ZFP • ZFP extends ZF with ordered pairs as non-set objects. • The domain of objects is split into pairs and sets. • For any objects A; B, there exists a non-set ordered pair hhA; Bii, i.e. 8c : c 2=hhA; Bii. • Gained by modifying ZF's axioms to allow non-sets, and axiomatising relation symbols π1; π2 with desired properties. • So that hhA; Bii is the unique p such that A π1 p and B π2 p. • The domain of ZFP contains all of the pure sets of ZF, including Kuratowski pairs ha; bi. 18 Diagram ha; bi hha; bii 2 2 π1 π2 fa; bg fag a b 2 2 2 a a b 19 Facts • Sets can have pairs as their members, and pairs can have sets as their projections. • Cartesian product can defined using Replacement nested inside Replacement: A × B = [ f z j 9 c 2 A : z = f p j 9 d 2 B : p = hhc; diigg • If p = hha; bii, then P(p) = ; and [ p = ;, etc.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages28 Page
-
File Size-