We exhibit a way of “forcing a partial functional to be realizable as effective operation” for arbitrary partial combinatory algebras (pcas). This gives a method of defining new pcas from old ones for some fixed type 2 (partial) functional, where the new partial functions can be viewed as computable relative to that functional. It is shown that this generalizes a notion of computation relative to a functional as defined by Kleene for the natural numbers. The resulting notion of computation can be characterized by a universal property both in the category of pcas and in the lattice of local operators on the corresponding realizability topos.
Our result is useful in two ways. For one thing, we expect that the emphasis on forcing the applicative structure to satisfy certain properties yields new methods to tackle problems in complexity theory, for example in connection to higher computability. Second, the methods are defined for abstract notions of computation, which provides a connection with realizability toposes and categories of assemblies. We will see an instance of this in the effective topos using an example of a functional that forces every arithmetical set to be decidable and a local operator defined by A. Pitts in his thesis [The theory of triposes, PhD thesis, Cambridge University, 1981].
As an intermezzo we also prove the convenient result that the two definitions of a pca that are common in the literature are essentially the same.
Effective operations have originally been studied in computability theory, with as famous results the theorems of Myhill–Shepherdson and Rice–Shapiro. They have also been studied in relation to computable functionals (e.g. see [3]), although the two notions are not quite the same. For example, it is known that not every functional that can be realized as effective operation is also a computable functional ([3]). In realizability, partial combinatory algebras (pcas) are used as models for abstract Turing machines. The notion of effective operation can be extended to pcas in a straightforward way. In this paper, we discuss effective operations on arbitrary partial combinatory algebras, and present a way to force a functional to be realizable as effective operation: for a (partial) functional , where A is a pca, we construct a pca for which F, restricted to the total functions on , is realizable as an effective operation. In Theorem 3.1, we characterize by a universal property in the category of pcas.
In [8], Kleene introduced the notion of a computable functional, and with it the notion of computability relative to a functional. It turns out that for , Kleene’s first model, the functions computable in are precisely the functions computable relative to F in Kleene’s sense. This yields an alternative approach to computation in a type 2 functional that generalizes to arbitrary pcas.
The recursive application defined by can also be characterized in the lattice of local operators on , the realizability topos on A. This is shown in Theorem 6.1. The theory of recursive hierarchies of functionals (e.g. see [4]) can therefore be applied to study subtoposes of realizability toposes, especially their computational complexity.
As an example, we look at a specific local operator J due to A. Pitts that is studied in [15]. It turns out that the functions “computable in J” are precisely the functions computable relative to a certain functional.
On the way we also prove that a strengthening of our definition of a pca, that we call strict pcas, is (up to applicative isomorphism) not a proper strengthening at all. This is posed as an open question in [2]. The result is convenient, since in the literature there has not been wide consensus on the definition of pca; several authors have been using strict pcas by default. We will catch a glimpse of the usefulness of this result by exhibiting a pca that at first sight seems a long way from being strict (Proposition 6.3).
In the last section, we discuss the generalization of our results to higher types. Although Kleene’s definitions of recursive functionals generalize to higher types, the connection with effective operations gets lost. A generalization of our results on effective operations seems to demand for a more complicated method of “forcing” than what we have described for a type two functional. Further investigations of this kind could thus be useful in computability theory and the study of realizability toposes.
Preliminaries
We start by reviewing the definition of a partial combinatory algebra and some basic constructions.
A partial applicative structure on a set A is a partial map that we denote by
We write to say that is defined, to say that is defined and has value c. In writing compositions of the application, we adopt the convention of associating to the left, so:
For an enumerable set of variables, we define the set of terms by:
For all ,
a is a term;
x is a term;
For t, s terms, is a term.
A term t without free variables is called closed and might denote or not. This is defined inductively:
a denotes and has value a;
If t denotes and has value a, and s denotes and has value b, and , then denotes and has value c.
We write if t denotes, and if t denotes and has value a. We write if implies that , and in that case . We write if and . As a warning, note that other authors sometimes define the relation “≲” the other way around (this is comparable to the two conventions used to order forcing conditions in set theory). Here, we stick to the convention used in [14].
We denote a term t with free variables by
For , we can substitute by , resulting in a closed term .
A partial combinatory algebra is a partial applicative structure A, with elements such that for all :
;
;
.
We also say that the applicative structure on A is combinatory complete.
There are several examples of pcas, [14] treats a lot of them. Here we just list a few with little explanation:
The trivial pca, with .
Kleene’s first model, with underlying set . Application is given by:
where is the nth partial function for some model of computation and coding.
An introduction to partial combinatory algebras and its basic properties can be found in Chapter 1 of [14]. Here we will just quickly present some tools that we need later on, the proofs can all be found in [14]. For a pca A, an element defines a partial function by:
We say that a is an index for this partial function. By abuse of language, we sometimes say that a is a partial (computable) function.
An important result for pcas is the recursion theorem:
(Recursion theorem).
For every, there exists e such that for all:
Also important is the fact that a pca is combinatory complete. This means that for every term with free variables , there is an element such that for all :
The notation should remind the reader of λ-abstraction in λ-calculus. We use a different notation because it is slightly different from λ-abstraction, but it is applied in the same way.
Besides and , we identify (a choice of) other canonical elements of A, among which:
Boolean combinators and that satisfy for all :
Indeed, one can take .
Using combinatory completeness and the Boolean combinators, we can define if/else statements: for t, s closed terms:
For legibility, we denote a term like by
The pairing combinator together with projections , :
The Curry numerals: each pca contains representables of the natural numbers, i.e. for any an element . It is a basic result (for a proof, see [14]) that, for every k, there is for every k-ary partial recursive function an index such that for all :
When there is chance of confusion, we decorate (choices of) canonical elements by a subscript to denote the pca to which it belongs, e.g. , , , etc.
We can also code tuples of elements in a computable way. That is, there is an index such that for all , we can code a tuple
such that projection, concatenation of tuples, and a length function (that yields the length of a tuple as a curry numeral) are all computable. We denote concatenation by ∗:
and for , we write for . These basic operations can all be done computably and uniformly in the variables.
There is a notion of morphism between partial combinatory algebras due to John Longley (see [9]), called applicative morphism. In the following definition, we adopt the following notation: for a total relation between sets X and Y, we denote for every by the set:
For A a pca, and a subset, we write if for all , , and in that case
For , we write if for all , , , and in that case
Whenever we write compositions of these applications of an element and a subset, or a subset and a subset, we again associate to the left.
(Longley).
Let A, B be pcas. An applicative morphism is a total relation from A to B, together with an element such that whenever and , we have:
The element r is said to realize γ.
An applicative morphism γ is decidable if there is such that
We call d a decider for γ.
The composition of two applicative morphisms is defined by composition of the relations, and one can verify that this is again an applicative morphism. There is a pre-order on applicative morphisms defined as follows: for , , write when there is such that for all :
We write if and , in this case γ and δ are equivalent. One can show that this pre-order is preserved by composition on both sides. We thus obtain a pre-order enriched category PCA consisting of partial combinatory algebras as objects, and applicative morphisms as arrows. The identity arrow for a pca A is denoted by and given by the identity relation on A.
As remarked in the Introduction, Definition 2.3 is weaker than the definition that is used in some other literature (including [14]). However, it will be a consequence of Theorem 5.1 below that the corresponding categories of pcas, with morphisms as above, are equivalent.
For a pca A, we define a set by:
We also define a function (here is the powerset of A) by:
For an applicative morphism, we define a set by:
Lastly, we also define a function by:
Observe that .
The following result by the second author (see [13] or [14]) tells us that we can adjoin any partial function to a pca A, to obtain a pca in which f has an index. This generalizes the notion of a Turing machine with oracle from ordinary computability theory to pcas.
For A a pca anda partial function, there exists a pcadefined on the set A such that the identity on A is a decidable applicative morphism, and:
.
Wheneveris a decidable applicative morphism such that, there exists a decidablesuch that. Moreover, ifis a decidable applicative morphism such that, then.
The proof of the above theorem is done by defining an applicative structure on A using dialogues:
Let be a partial function, and . An f-dialogue between a and b is an element such that for all :
where is defined and .
An f-dialogue u between a and b halts if there exists such that
We write if there is a (necessarily unique) halting f-dialogue u between a and b, and if and
where u is a halting f-dialogue between a and b.
The applicative structure on is then given by . For a full proof of combinatory completeness, see [14] or [13]. Note that these sources use the strict version of a pca (Definition 5.1), but the proofs work without any modification (alternatively, one can apply Theorem 5.1). The following corollary corresponds to Corollary 1.3 in [13]:
Let A be a pca.
If, thenand A are isomorphic pcas.
Ifare partial functions, thenandare isomorphic.
Ifis the pca of partial recursive application with an oracle for f, thenis isomorphic to.
Effective operations
We will now define the set of effective operations on pcas. For any pca A, let be the subset of consisting of all total functions:
Similarly, define for any γ the subset consisting of all total functions in .
(Effective operation).
For a pca A, we define the set of effective operations in A by:
Define a function by:
Similarly, for an applicative morphism we define the set of effective operations relative to γ by:
As an example, we look at the following functional , where A is an arbitrary pca,
For , it is easily seen that the above (restricted to the total computable functions) is not an effective operation (otherwise the halting problem is decidable). However, the construction below shows that there are a lot of pcas in which E, when restricted, is an effective operation.
The statement of the following theorem is very similar to Theorem 2.2.
Let A be a pca, anda (partial) functional. Then there exists a pcadefined on the set A such that the identity relation on A is a decidable applicative morphismand:
;
Wheneveris a decidable applicative morphism such that, there exists a unique (up to equivalence) decidable applicative morphismsuch that. Moreover, ifis a decidable applicative morphism such that, then.
Before embarking on the proof, we would like to clarify an issue that might at this point have confused the reader. It may seem that we are treating a partial functional and an effective operation on the same level (up to restriction), which is why we say that our construction “forces F to be realizable as effective operation”. However, since for any pca A, , F may be defined on a lot more functions than could ever contain. So F will always contain more information than the effective operation we construct from it.
However, will usually contain functions that were not in , so we cannot restrict F beforehand. Indeed, is quite different from ! Take for example the functional E above. In this case, (here is the first jump of the empty set), whereas we will see (Corollary 4.1) that computes all hyperarithmetical functions.
It may be better to formulate the above distinction in categorical terms (see Section 6.1). We could define an effective operation as a partial arrow in a category of assemblies on A. The above theorem then constructs a pca for which the category of assemblies is a reflective subcategory of the assemblies on A, in which the partial functional is realizable as partial arrow . This corresponds to (i) in the above theorem. In fact, this reflective subcategory is induced by a local operator on the realizability topos , and this local operator turns out to be the smallest such that F is realizable. This is the content of Theorem 6.1 and corresponds to (ii) of the above theorem.
We will construct as for
where is a compatible family of partial functions indexed by the ordinals. We define this family by transfinite induction. For all , we let:
;
whenever there exists such that and ;
For a limit ordinal, .
It is not hard to see that this indeed defines a compatible family of partial functions. So is a partial function, and we define . We denote the application in by .
For part (i), suppose , , and is defined. Then it is not hard to see that there is α such that , . Then , hence . Indeed, F is an effective operation in .
For part (ii), suppose is a decidable applicative morphism such that . Let . Denote the realizer for γ by r. Let be the decider for γ. Let be such that for all , , . Let be such that for all , , . Let , be such that for all , , . By the recursion theorem, let be such that
Then one can verify that for , we have for all , such that :
Essential is that if , then for , .
So by the above, realizes γ as an applicative morphism , and the fact that is obvious.
Uniqueness is easy to check. □
The construction of can be thought of as a construction in stages: we say that at stage α if . In proofs of statements about , we will often use induction on the stage at which a term denotes. The infinitary nature of computation relative in a functional, as remarked by Kleene in [8], is reflected by this construction in (transfinitely many) stages.
We again take a look at the functional E from Example 3.1. For any pca A, E is an effective operation in . As a consequence, the computable predicates in are closed under existential quantification: suppose is a total function in 2 variables, taking values in . Then:
is clearly also a recursive predicate in , so it has some index .
For , this produces a familiar (see [8]) result. Namely, it follows (by taking complements) that every arithmetical subset of is computable in . We will see below that the total functions in are in fact precisely the hyperarithmetical functions.
One may want to define, for functionals , a pca in which F, G are both effective operations. It will not work to define this as . This follows the same reasoning as in Remark 3.1. In , only is realizable, whereas we want to be realizable. However, if one codes any tuple of functionals into one functional H (e.g. ), then will satisfy the required properties and the analogue of Theorem 2.2 for such a tuple holds.
Effective operations and Kleene computability
In [8], Kleene developed a recursion theory for functionals, which included a notion of computability relative to a functional. A short overview of this theory, as well as comparisons to other notions of higher-type computation can be found in [10].
In this section we will show that a total function is computable relative to a functional (in Kleene’s sense) if and only if it has an index in . This result will be almost immediate, since (as we will see) Kleene’s indexed set of functions computable in F is basically an explicit model of . Our construction has the advantage of being independent of any explicit model of and avoids a lot of technicalities. Moreover, there is the immediate generalization to arbitrary pcas and the connection to realizability.
In his paper, Kleene defined an -indexed set of functions that may take tuples of arguments of all finite types. The definition consists of nine inductive rules, named (S1)–(S9). A function with index e is denoted by . A function is then computable relative to the functional if there is an index such that for all :
Instead of defining Kleene’s (S1)–(S9) in full generality, we will just state eight derived rules that define the indexed set of functions computable relative to some functional F according to Kleene. The rule (S7) is missing since that applies specifically to type 1 arguments, and we only consider a specific type 2 oracle.
Let be a functional. Also fix some primitive recursive coding of tuples . We define an indexed set of partial functions by the following rules: for all :
Successor function: .
Constant function: .
Projection: for all , .
Composition: For , all :
Primitive recursion: For any , if then for all k:
Permutation of arguments: For any , and :
Application of F: For every :
Index vocation: for all
Above, has the same meaning as before: the right-hand side is defined if and only if the left-hand side is defined, and when this is the case both sides are equal.
In what follows, we assume that we have fixed some functional , and defined the partial map according to the above.
The partial mapdefines a partial combinatory algebra.
Tedious exercise using the clauses in Definition 4.1. □
The following can be viewed as the type 2 analogue of Corollary 2.1(3).
There is an isomorphism of pcas.
By Church’s thesis, the identity relation on is an applicative morphism . It is easy to see that . By Theorem 3.1, the identity relation on is an applicative morphism .
It is not hard to show that we can define the application in computably in using the clauses of Definition 4.1 and the recursion theorem when needed. So the identity relation on is also an applicative morphism . Therefore . □
Let E be as in Example3.1for. The total functions inare precisely the hyperarithmetical functions.
This follows from Theorem 4.2 and the corresponding fact for , which is Theorem XLVIII in [8]. □
The above corollary is what we can deduce from Kleene’s original paper on recursive functionals. However, we can do a little better using the results of Hinman’s approach in [4]. There, the domains of the -indexed partial functions “computable in E” are precisely the -sets. Here we can prove something similar. In the context of pcas and applicative morphisms, domains of partial recursive functions are not particularly well-behaved (we have to impose more conditions on morphisms to preserve this structure, see for example the discussion of dominances in [9]). Theorem 5.1 also exemplifies this fact. We therefore avoid domains, and show the following instead:
The application inis-complete.
We show here that the application function is , since that does not follow immediately from Hinman’s results. Let be the uniform index for f in , for any f. Recall that , where we defined g in stages. We will show that g is . Let e be an index such that whenever ϕ is the characteristic function of the graph of a partial function , then for all :
It is easy to see that such e exists; since is enumerable, we can just “wait” for values of f to appear in the graph.
Define the following predicate on :
It is not hard to see that Φ is (in fact it is arithmetical) (to work out the details, one needs to use Kleene’s T-predicate and existential quantification over dialogues). Let G be the characteristic function of the graph of g. Now we claim:
First, observe:
This proves the “⇐” direction of (19) (we substitute G for X).
Now assume , that is:
Suppose we have X such that
We need to prove that . We do this by showing that
This is done by induction on stages (see Remark 3.2). Recall that g is constructed as . Denote the corresponding graphs by . Then for ,
clearly holds, since . If it holds up to α, then:
For limit ordinals λ, for some so that follows trivially.
Hence we have shown (23), from which follows by assumption. □
Since the right-hand side of (19) is , we have shown that the graph of g is . Then for the application, we find:
which is clearly , since any -formula is closed under quantification.
To see that the application is complete, see [4], Section VI.1. There one can find a proof in which a well-known -complete set is reduced to a semi-recursive set computable from E in Hinman’s sense (i.e. a domain of a partial recursive function). This proof is easily adapted to a proof of -completeness for our case. □
Strict pcas
In this short section we wish to prove a result that was announced in the Introduction: the fact that any pca as we have defined above is isomorphic to a strict pca. This result by itself seems to have little to do with the rest of the content of this paper. However, in Proposition 6.3 we use the above results to give an example of a pca that seems far from being strict. This forms a pleasing contrast with the theorem below. Moreover, it is Kleene’s (S1)–(S9) that inspired the proof of the theorem. Indeed, it is an easy observation that the application function defined in Definition 4.1 makes sense for any pca (except for primitive recursion), because we have pairing combinators and Curry numerals. We can therefore use clauses similar to Kleene’s (S1)–(S9) to define a new application function from an old one, which is exactly what is done below to “strictify” any partial combinatory algebra.
Whenever we talk about “isomorphism” of partial combinatory algebras, we mean isomorphic as objects of the category of pcas with morphisms the applicative morphisms. However, it is not hard to see that in this case “isomorphic” coincides with “isomorphic” as algebras, i.e. the two inverse applicative morphisms have to be functions.
First, recall the definition of a strict pca:
Let A be a partial applicative structure. Then A is called a strict pca when there are such that for all :
,
,
.
We also call the applicative structure on A strictly combinatory complete.
This definition might be preferable in some cases, for example when one would like that the set of domains of partial computable functions in a pca A form a dominance in (see [9]). However, as mentioned before, these domains are not part of the structure of a pca in the category PCA.
The following theorem supports this: in the context of applicative morphisms, the notions of a pca and a strict pca are essentially the same.
Every pca is isomorphic to a strict pca.
Let A be a pca. If A is trivial, then the statement is obvious, so we assume A non-trivial.
The idea is to define an explicit pca structure on the set A, such is an applicative morphism . In this explicit structure, we also make sure that we can compute the application in A.
To define the new applicative structure on A, we use tuples and Curry numerals from A to ensure that what we define is actually computable in A. We denote the new application by , and the resulting partial applicative structure by . The definition is by induction on the following clauses:
Constant function: for all :
S-combinator: For :
Currying of parameters: for all :
Application in A:
Since A is non-trivial, the above is well defined. Strict combinatory completeness of A is satisfied by taking , . Now is realized by as an applicative morphism . In the other direction, we have to simulate the above defined application in A. Using the fact that we can distinguish Curry numerals, determine length of tuples, and the recursion theorem, we can obtain an index that performs the above case distinction, and in case the input is well formed (i.e. one of the tuples and an element in A), yields the same value as the application function in . □
Note that the proof above is entirely constructive; to define the application it only uses natural induction and explicit constructions with the combinators and .
Another observation is that if we would define using only the clauses (1)–(3), we obtain a strict pca , together with an applicative morphism given by , that has “forgotten” a lot of the structure of A. We can then adjoin certain partial functions in A to to get some of them back (such as the application, so that we obtain A again). In the case of a decidable pca, for instance, we would lose decidability in this way. So, not only can we adjoin functions to a pca as an oracle, we are also able to forget some functions in a pca.
Local operators
In [15], a notion of realizability is studied that uses a specific local operator J on the Effective Topos. We will show here that some of the results in that paper can be derived easily using the functional E from Example 3.1 (for ) and Theorem 3.1.
We first give a definition of local operators in realizability toposes on a pca A, which we assume fixed from now on. The topos-theoretic origin is omitted here, for more about that we refer to [14] or [12]. We introduce the following notation: For subsets, let
A local operator is a function such that there are that satisfy:
;
;
.
We define a pre-order on local operators as follows: we say whenever there is such that:
We write if and . There is a least local operator , given by the identity: . There is also a biggest local operator given by .
The lattice of local operators (up to isomorphism) corresponds to the lattice of subtoposes of the realizability topos on A, denoted . Some of these subtoposes are realizability toposes themselves, in that case we have found a geometric inclusion.
An applicative morphism is called computationally dense if there exists such that:
This should be read as follows: relative to γ, any application of an element b in B to an element in A (i.e. in ) can be computed in A (by an element a), up to a last application in B that is uniform in b (the element m). Think of m as “translating” the result of the computation from A to B.
There is a one-to-one correspondence between geometric morphisms and computationally dense morphisms (the above intuition might give a feel for why the arrows get reversed!).
We can also characterize geometric inclusions: they correspond precisely to computationally dense applicative morphisms that satisfy the additional condition
where m is as in Definition 6.2 (this is a consequence of results in [5,7]). In that case the corresponding local operator in is given by
The following corresponds to Proposition 2.2 in [13].
Fora partial function, the identity relation on A is a computationally dense applicative morphismthat satisfies the condition (in). Therefore, there is a canonical geometric inclusion.
By our construction, we obtain for every (partial) functional a subtopos corresponding to the local operator
One can check that this indeed defines a local operator according to Definition 6.1.
J-assemblies
In [6], Martin Hyland showed that for every function , there is a least local operator that forces f to be computable in the Effective Topos. This yields an embedding of the Turing degrees into the lattice of local operators. In [11], Wesley Phoa showed that the corresponding subtopos is equivalent to , the realizability topos on the pca of recursive application with oracle f. This result can be generalized to arbitrary pcas and partial functions: for (partial) functions , the least subtopos of in which f is realizable is equivalent to . For a proof, see [1].
We will now carry out a similar statement for effective operations. To make things easier, we will work on a category of assemblies. The consequences for realizability toposes are immediate for anyone familiar with them. In the following we assume that we have fixed some pca A.
Let J be a local operator for A. A J-assembly is a pair where is a total relation.
For , J-assemblies, a morphism of J-assemblies is a function together with a such that
We say that t tracks f relative to J.
One can check that the composition of morphisms of J-assemblies , is again a morphism of J-assemblies, so that J-assemblies form a category . The category has a lot of structure: it is regular, Cartesian closed and has finite colimits (in fact, it is a quasi-topos). For , J-assemblies, the exponential is given by:
The assembly can be seen as a representation of the pca A in the category of J-assemblies. The object consists of the morphisms in . For , these are precisely the computable functions in A. Also, one can check that the arrows
in are precisely the effective operations in A. We have the following theorem:
Letbe a total functional, and assume that F defines a morphismin. Then.
We can assume that J preserves inclusions, otherwise we let
and show that , which is an easy exercise using Definition 6.1.
By computational density, there exists such that for all :
Since m is independent of F, we also know that if the right-hand side halts at some stage, the left-hand side also halts at that stage.
Suppose that is tracked by r as morphism of J-assemblies.
Choose (using the recursion theorem) so that:
Here is the empty sequence. We will prove by induction on the stage at which that for all x,
Stage 0: in that case for some c. Then
Stage : Let be the halting dialogue between m and x. It is easy to see that
Now suppose that is such that
We know that:
where v is such that at some stage , for each w, . So for each w, also at stage α. Let f be the function . By induction hypothesis,
for each w, so tracks f as morphism of J-assemblies. So
and . By (46), we have:
and therefore
hence it follows that
By reverse induction, it follows that
so this finishes the induction step, so we have (44).
Therefore
and we are done. □
Pitts’ local operator
In this section we will take a look at a specific local operator that is studied in [15], which we will denote by . It turns out that we can use the results of the previous section to say something about its complexity. This operator was introduced by Andrew Pitts in his thesis (Example 5.8, [12]). Denote by the assembly
We can define the following subobject of :
Pitts’ local operator is defined as the least local operator in that forces the above arrow to be an isomorphism of -assemblies. Explicitly, it is given by:
where for :
Write N for the assembly A for , so
Recall the functional E from Example 3.1. For , we rather define it as
We have the following proposition:
There is an indexthat tracks E as morphism of-assemblies.
By Corollary 1.6 of [15], there is a partial recursive function G such that for all
we have
Now let be an index in defined by:
Then whenever e realizes a total function , we have if and only if , which holds if and only if there is n such that
since otherwise
By definition of , we have in the first case that , and in the latter case . Now tracks E as morphism of -assemblies . □
The following corollary corresponds to Theorem 2.2 in [15].
The morphisms of-assembliesare precisely the hyperarithmetical functions.
By Theorem 6.1, . Therefore it is easily seen that every morphism of assemblies is a morphism of -assemblies. Now it follows that every hyperarithmetical function is a morphism of -assemblies by Corollary 4.1.
For the converse, observe that every morphism is since:
where e is a realizer for f as a morphism . Notice that the above expression is . Since f is total, it is also .
Therefore the morphisms of -assemblies are precisely the hyperarithmetical functions. □
-representable functions
In [15], the morphisms of -assemblies are called -representable. Since for every
the following is well defined:
A partial function is -representable if there exists such that for all :
Here denotes the eth partial computable function from ordinary recursion theory (or the application in ).
By defining for such e, we obtain an indexed set of partial functions and a new application
on .
A natural question is whether the application is combinatory complete in the sense of Definition 2.3. This turns out to be the case:
The applicationdefines a pcaon.
This is an easy exercise on pcas and Definition 6.1. □
The pca defined above is an example of a pca that is not strict (although this might be difficult to show) and it seems very hard to define it in a similar way from that would make it strict. For this specific example, Theorem 5.1 is therefore a reassuring result (although in this case, it could also have been proven, with some care, using the theorem below).
Finally, we have the following theorem:
The pcais isomorphic to.
Let be the applicative morphism (it is easily verified that this is a decidable applicative morphism).
Now by Proposition 6.2. Therefore, by Theorem 3.1, γ factors through , hence we have a decidable applicative morphism , given by the identity on .
This morphism also goes the other way: this follows from the fact that the application in is -complete (Proposition 4.1), and the fact that the application in is . □
Higher types
One may wonder whether Theorem 4.2 also holds for computability in higher type functionals (so, type 3 and higher). The answer to that question is positive: for functionals of certain types, one can define in a similar fashion a pca
that is again isomorphic to the pca of recursive application relative to in Kleene’s sense. The idea is to define , where f is defined in stages, simultaneously for , so that the resulting applicative structure is closed under application of any of the functionals. However, we do not get much more than that. In the above, we have shown that constructing the pca of recursive application relative to a type 2 functional F is the same thing as “forcing F to be a realizable as effective operation” (taking note of Remark 3.1), or forcing F to be realizable in the corresponding category of assemblies or realizability topos. To see what goes wrong, we will sketch the case for a single type 3 functional .
For such Φ, we can define a pca as , where f satisfies:
Here is defined as for . An f satisfying the above equation can again be defined in (transfinitely many) stages. The resulting pca will satisfy the property that whenever e is an index such that
for some functional , then we can compute in , i.e. there is an index r such that , uniformly in such e. The reason we have to define in this way is that Φ is defined on total functionals, and we want Φ to be defined on all total functionals that are “computable” in . By a computable functional we mean here a total functional F that has in index in A which, when given an oracle g, computes .
Kleene uses a similar definition of “recursive application relative to Φ” in [8], as does Hinman in [4]. One can again show that for , the resulting applicative structures are the same in the sense of Theorem 4.2. The same holds for general n-tuples of higher types .
However, Φ is not an effective operation relative to . For a pca A, an effective operation of type 3 should be the same thing as a morphism of assemblies
So it is a map that sends every effective operation of type 2 to A. It is not clear that Φ is an effective operation in this sense for as defined above, in fact this seems completely unrelated. For instance, there could be effective operations that are not computable functionals in the above sense (an example of this kind can be found in [3]) so there is no guarantee that Φ can be evaluated on those. Conversely, the methods we have developed above do not seem to give a way to “force Φ to be realizable” as a morphism of type (51). At the very least, it seems to require a more involved method of forcing than just a transfinite induction. Denote for instance by the hypothetical pca in which Φ is realizable as an effective operation of type 3. When Φ has different values on F and G, but , we will first have to make sure that either , or that F or G (or both) are no longer realizable as effective operations relative to , and make sure that this property is preserved in the construction of .
Another direction could be to study other notions of computable functionals, and to see to what extent these generalize to pcas and especially the theory of categories of assemblies and realizability toposes. The overview [10] is a good starting point here.
References
1.
E.Faber and J.van Oosten, More on geometric morphisms between realizability toposes, Theory Appl. Categ.29 (2014), 874–895.
2.
J.Frey, A characterization of realizability toposes, 2014, available at: arXiv:1404.6997.
3.
R.O.Gandy and J.M.E.Hyland, Computable and recursively countable functions of higher type, in: Logic Colloquium 76, Oxford, 1976, Studies in Logic and the Foundations of Mathematics, Vol. 87, North-Holland, Amsterdam, 1977, pp. 407–438.
4.
P.G.Hinman, Recursion-Theoretic Hierarchies, Perspectives in Mathematical Logic, Springer, Berlin, 1978.
5.
P.Hofstra and J.van Oosten, Ordered partial combinatory algebras, Math. Proc. Cambridge Philos. Soc.134(3) (2003), 445–463.
6.
J.M.E.Hyland, The effective topos, in: The L.E.J. Brouwer Centenary Symposium, Noordwijkerhout, 1981, Studies in Logic and the Foundations of Mathematics, Vol. 110, North-Holland, Amsterdam, 1982, pp. 165–216.
7.
P.Johnstone, Geometric morphisms of realizability toposes, Theory Appl. Categ.28(9) (2013), 241–249.
8.
S.C.Kleene, Recursive functionals and quantifiers of finite types. I, Trans. Amer. Math. Soc.91 (1959), 1–52.
9.
J.R.Longley, Realizability toposes and language semantics, PhD thesis, University of Edinburgh, 1995.
10.
J.R.Longley, Notions of computability at higher types. I, in: Logic Colloquium 2000, Lecture Notes in Logic, Vol. 19, Association for Symbolic Logic, Urbana, IL, 2005, pp. 32–142.
11.
W.Phoa, Relative computability in the effective topos, Math. Proc. Cambridge Philos. Soc.106(3) (1989), 419–422.
12.
A.M.Pitts, The theory of triposes, PhD thesis, Cambridge University, 1981.
13.
J.van Oosten, A general form of relative recursion, Notre Dame J. Formal Logic47(3) (2006), 311–318(electronic).
14.
J.van Oosten, Realizability: An Introduction to Its Categorical Side, Studies in Logic and the Foundations of Mathematics, Vol. 152, Elsevier B.V., Amsterdam, 2008.
15.
J.van Oosten, Realizability with a local operator of A.M. Pitts, Theoret. Comput. Sci.546 (2014), 237–243.