ELEMENTARY CONSTRUCTIONS IN PRIMITIVE RECURSIVE ARITHMETIC REX BUTLER 1. Introduction The following is a note the author, a graduate student studying commutative algebra, wrote for posting on the Foundations of Mathematics email list moderated by Martin Davis. Feedback, comments, and pointers to literature will be appreciated. All constructions we describe take place within the formal system PRA, i.e. Primitive Recursive Arithmetic. Set and category theoretic concepts and notations will be used when intended meaning is clear. Categories will be defined independently of set theory in the following sense: effective criterion will be given for presenting objects and morphisms and for proving when morphisms f and g compose to a morphism h. In some cases, functions will be written relationally to emphasize similarity with sequents. 1.1. Primitives: Explicit Presentations of Gödel Codings. A primitive is a pair (A, ∼A ) where A is a PR subset of N and ∼A is a PR equivalence relation on A, each presented explicitly by their characteristic functions in PRA. A morphism f : A → B between primitives A and B is represented by a PR function f : N → N such that PRA proves x ∈ A implies f (x) ∈ B and x ∼A y implies f (x) ∼B f (y) for x, y ∈ A. Two representatives f, g : A → B represent the same morphism if and only if they provably induce the same functions on quotients, or in other words if and only if PRA proves f (x) ∼B g(x) for all x ∈ A. This defines a constructive category PRC. Following Gödel, in the category PRC we can easily construct the following primitives, starting with N: • • • • • • • • PR subsets A ⊆ B Boolean Combinations and Negations on A and B Products A × B Coproducts A q B Finite sequence spaces A∗ , Finite subset spaces Pf (A) Quotients A/ ∼ where ∼ ⊆ A × A is a PR equivalence relation. Inverse images f −1 (B0 ) ⊆ A where f : A → B and B0 a is primitive recursive subset of B. This is essentially a selection principle. 1 2 REX BUTLER With these constructions in hand, Gödel coding via primitives proceeds with great efficiency, becoming similar in flavor to the elementary constructions of set and category theory. Also, with the obvious definition of isomorphism between primitives, coding becomes canonical in the following sense: each isomorphism class has exactly countably many representatives. The isomorphism problem for primitives is undecidable, even given a putative isomorphism. For example, given any Π1 sentence ∀x A(x) where A is primitive recursive, let (A, =) be the corresponding primitive with equivalence defined by strict equality. If we define a primitive (A0 , =) by A0 (x) if and only if x = 0 or x > 0 and A(x − 1) then the identity function gives an isomorphism between A and A0 in the category PRC if and only if ∀x A(x). 1.2. Primitive Types and Partial Recursion. Partial recursion and enumeration is now defined as follows. e `A , Aβ ) of primitive recursive objects giving an A primitive type is a triple A = (A, e is the enumerating primitive, Aβ the base explicit presentation of a Σ1 set. Here A β e → A the enumerating morphism. These define a Σ1 subset primitive, and `A : A im(`A ) of Aβ , which we again denote by A. (Primitives themselves naturally define primitive types: we associate to a primitive b the primitive type B = (b, idb , b).) In this context we consider primitive types to be essential protological objects, e as proofs, the elements of Aβ as propositions, and interpreting the elements of A the elements of im(`A ) as theorems. To emphasize this, if x ∈ A and `A (x) = y we write • • • • x proves y ∈ A x `A y ∈ A `A y ∈ A. `A y. When thinking ’internally,’ we display primitive types A as follows: e A `A ∨ β A For example, given a recursively enumerable theory such as PRA, we may construct a primitive type P RA`thm = (P RAproof , `P RA , P RAprop ). ELEMENTARY CONSTRUCTIONS IN PRIMITIVE RECURSIVE ARITHMETIC 3 P RAproof `P RA ∨ P RAprop e `A , Aβ ) → (B, e `B , B β ) between primitive types We now define a morphism f : (A, e→B e between their enumerating primitives such A and B to be a morphism fe : A e that `A (x) ∼ `A (y) implies `B (f (x)) ∼ `B (f (y)) for all x, y ∈ A. fe e A > e B `B `A ∨ β f A ∨ β *B With this condition, we have an induced partial recursive function f : A * B. e such that `A (e Intuitively, to compute f (a) we first search for an e a∈A a) = a. If e such an e a is found, the evaluation `B (f (e a)) gives the value of f (a). We have two notions of equivalence between morphisms of primitives types. We say e `A , Aβ ) → (B, e `B , B β ) are strictly equivalent if f1 and two morphisms f1 , f2 : (A, e to B e and weakly equivalent if f2 are equal in the usual sense as morphisms from A β f1 and f2 induce the same partial function from A to B β , i.e. if `B ◦ f1 = `B ◦ f2 . This leads to two constructive categories, PRS and PRW, defined via strict and weak equivalence of morphisms respectively. 1.3. A Few Constructions. In the categories PRS and PRW we have the followe `A , Aβ ) and B = (B, e `B , B β ). ing constructions, given primitive types A = (A, Products A × B = A ∧ B: e×B e A (`A , `B ) ∨ Aβ × B β where (`A , `B ) = (`A ◦ πA ) × (`B ◦ πB ). Note that `A∧B (a, b) ∈ A ∧ B if and only `A a ∈ A and `B b ∈ B. Disjunctives A ∨ B: e × B β ) q (Aβ × B) e (A `A ∨ ` B ∨ Aβ × B β 4 REX BUTLER where `A ∨ `B is defined by e × B β and (`A ∨ `B )(e a, b) = (`A (e a), b) on A e (`A ∨ `B )(a, eb) = (a, `B (eb)) on Aβ × B. Note that `A∨B (a, b) ∈ A ∨ B if and only if `A a ∈ A or `B b ∈ B. Here, in e attempting to prove `A∨B (a, b), we do not know whether to search for proofs in A e or in B. Coproducts A q B: eqB e A [`A , `B ] ∨ Aβ q B β where [`A , `B ] = (ιA ◦ `A ) q (ιB ◦ `B ). Note that `AqB c ∈ A q B if and only if `A c ∈ A or `B c ∈ B. However, in contrast to the disjunctives above, in attempting to prove `AqB c we know exactly where to look: we simply check directly whether c ∈ Aβ or c ∈ B β (as embedded in (A q B)β ). The result directs e or B e respectively. us to either search in either A 1.4. A Brouwer-Heyting-Kolmogorov Semantics? These ideas bring up the possibility of constructing a BHK semantics interpretable in PRA, the basic defintion being the following: e `A , Aβ ) is an primitive type A PRB proposition is a pair ϕ = (a, A) where A = (A, β and a ∈ A . e We write (a, A) and ϕ if PRA proves `A (e a) = a for some explicit e a ∈ A. Given propositions ϕ = (a, A) and ψ = (b, B) we now attempt the ’natural constructions’ of the propositions ϕ ∧ ψ, ϕ ∨ ψ, ϕ ⇒ ψ, and ¬ϕ. The first two cases are straightforward. We simply let ϕ ∧ ψ = ((a, b), A ∧ B) and ϕ ∨ ψ = ((a, b), A ∨ B). The final two cases are more problematic. For negation, we wish for a ’natural’ primitive type ¬A with (¬A)β = Aβ such that (a, ¬A) if and only if PRA proves `A (x) 6= a. Likewise, for implication, we wish for a natural primitive type A ⇒ B with (A ⇒ B)β = e → B, e e e Aβ × B β such that ((a, b), A ⇒ B) if and only PRA proves f : A a ∈ A, `A (e a) = a, and `B (fe(e a)) = b for an explicit morphism f . The later two constructions could be attempted via constructions on the internal representation of PRA as the primitive type P RA`thm . In the end, however, the constructions of A ⇒ B and ¬A should be of similar flavor to the constructions of A ∧ B and A ∨ B above. ELEMENTARY CONSTRUCTIONS IN PRIMITIVE RECURSIVE ARITHMETIC 5 1.5. Effective Quotients of Primitive Types. We may extend the definition of e `A , Aβ ) by adding additional structure in the form of a a primitive type A = (A, = = β morphism `A : A → A × Aβ effectively enumerating a Σ1 equality on the image of `A . e `A , Aβ , A= , `= , iA , sA , tA , pA , pA ) Redefinition: a primitive type is a tuple A = (A, 1 2 A satisfying certain conditions stated below. Here A= enumerates, via `= A , an equivalence relation on the image of `A . This allows for both the image of `A and the defined equality thereon to be Σ1 sets. The morphisms iA , sA , and tA will give the effective reflexivity, symmetry, and transitivity of this equality respectively. First, more notation: • If z ∈ A= , a, b ∈ Aβ , and `= A (z) = (a, b) we write z `A a = b = e e • Likewise if z ∈ A , e a, b ∈ A, and `= a), `A (eb)) we write z `A e a = eb, A (z) = (`A (e e interpreting e a and b as representatives of elements in A. The defining conditions are that the diagrams iA e A A= > `= A `A ∨ β ∨ 4 A > Aβ × Aβ and A e < p1 A > e A `= A `A ∨ Aβ < pA 2 A= `A ∨ π1 π2 Aβ × Aβ > ∨ β A commute and that e For z, w ∈ A= and e a, eb, e c ∈ A: e if z `A e a = b then s(z) `A eb = e a and if z `A e a = eb and w `A eb = e c then t(z, w) `A e a=e c. Here it is understood that sA : A= → A= and tA : A= ×0 A= → A= where = A= ×0 A= = {(x, y) ∈ A= × A= : π2 (`= A (x)) = π1 (`A (y))}. Under this revised definition, a morphism between primitive types A and B is a pair (fe, f = ) satisfying the following naturality conditions: First, the diagrams e A fe > e B iA ∨ = A iB f = > ∨ = B 6 REX BUTLER and A e < p1 A A= ∨ < > e A f= fe e B pA 2 pB 1 ∨ B= fe pB 2 ∨ > e B commute, and second: e For z ∈ A= and e a, eb ∈ A = e if z `A e a = b then f (z) `B fe(e a) = fe(eb) For z ∈ A= we have f = (sA (z)) = sB (f = (z)) For (z, w) ∈ A= ×0 A= we have f = (tA (z, w)) = tB (f = (z), f = (w)). As above, there are multiple notions of equivalence between morphisms (fe, f = ) and (e g , g = ). Strict equivalence is defined by provable pairwise equality of the component morphisms. Weak equivalence is defined by the provability of N (x) `B fe(x) = ge(x) e → B=. for a given N : A This gives us two constructive categories P RQs and P RQw where equality of morphisms is given by strict and weak equivalence respectively. A primitive type in the old sense is a primitive type in the new sense by defining e `= = 4(`A ) : A e → Aβ × Aβ , and so on. In this case we say that the A= = A, A primitive type has reduced equality. In this manner we obtain a large supply of primitive types. We construct more by building a library of standard constructions characterized by universal properties, after which explicit internal construction can mostly be avoided. 1.6. Questions, Possibilities? First, two questions about P RQs and P RQw : (1) In what manner, if any, do each of these categories fail to be toposes? The latter categories are certainly closer to being so. (2) Can the BHK semantics sketched above be implemented in any of these categories? Second, a few possibilities: Recall the notions of internal category and internal functor from category theory. These are certain diagrammatic structures, defined inside an ambient category B, which correspond to the usual notions of (small) category and functor when B = SET, the category of sets and functions. ELEMENTARY CONSTRUCTIONS IN PRIMITIVE RECURSIVE ARITHMETIC 7 Also, recall that each class of constructions defined above may be characterized by the existence of PRA proofs of particular PRA propositions. More formally, define a ’PRA primitive construction’ as follows. (1) Each instance of a primitive construction is denoted by a finite ’defining sequence’ of fixed length, the elements of which are PRA functions symbols of predetermined arity. (2) The admissibility of a particular instance is determined by the provability of a PRA admissibility condition of some fixed length and form, which varies only in the substitution of the referenced function symbols. (3) The ’schema’ for the admissibility proofs references each function in the defining sequences. Intuitively, we may construct an internal representation of any primitive construction C. First, we construct a primitive C β representing all instances of a construction, admissible or not. This primitive will be a PR subset of a finite sequence space on the internal representation of the set of PRA function symbols. We then e of P RAproof representing adenumerate admissible instances via a PR subset C missibility proofs. We define the enumerating primitive `C as follows: each proof e demonstrates the admissibility of a certain defining sequence α. Now the pe in C components of α are easily a primitive recursive functions of pe, appearing directly in constant position in the final line of the proof, the admissibility condition. Now note that P RQs itself forms a class of primitive constructions. That is, there are primitive types modelling both both P RQs -objects and P RQs - morphisms, out of which we may we may construct an internal category PRQs mirroring P RQs . Likewise, both internal categories and internal functors form a class of primitive constructions. Therefore, as was the case previously, we expect the existence of an internal category UC within P RQs modeling all internal categories within P RQs . E-mail address: rbutler@math.utah.edu