ELEMENTARY CONSTRUCTIONS IN

advertisement
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
Download