Abstract
Non-monotone inductive definitions were studied in the late 1960’s and early 1970’s with the aim of understanding connections between the complexity of the formulas defining the induction steps and the ordinals measuring the rank of the inductive process. In general, any type 2 functional will generate an inductive process, and in this paper we will view non-monotone induction as a functional of type 3. We investigate the associated computation theory of this functional inherited from the Kleene schemes and we investigate the associated companion of sets with codes computable in the functional of non-monotone induction. The interest in this functional is motivated from observing that constructions via non-monotone induction appear to be natural in classical analysis.
There are two groups of results: We establish strong closure properties of the least ordinal without a code computable in the functional of non-monotone induction, and we provide a characterisation of the class of functionals of type 3 computable from this functional, a characterisation in terms of sequential operators working in transfinite time. We will also see that the full computational power of non-monotone induction is required when this principle is used to construct functionals witnessing the compactness of the Cantor space and of closed, bounded intervals.
Introduction
Motivation and history
With the introduction of set theory in the second half of the 19th century, mathematicians had more tools in their toolbox than before, they had a richer language in which to express mathematical properties, but they also had tools like transfinite recursion and the use of the axiom of choice. One of these tools, inspired from the new ordinal numbers introduced by Cantor, is non-monotone induction over the set of integers, seen as an operator of order four, or of type 3 in the terminology of type theory.
It is worth noticing that the set-theoretical language mostly used at the time is of third order, while coding is needed to capture the same concepts in second order arithmetic (SOA). In a series of papers [16–27], Sam Sanders and the author have investigated the logical and computability strength of some of the results using such tools, when expressed in a language close to how it was originally done. To be more precise, we worked in the framework of Kohlenbach [11] of higher order reverse mathematics combined with Kleene’s [10] model for higher order computability.
Non-monotone inductive definitions were studied in the late 1960’s and early 1970’s, but the general interest has been low since then. Examples of papers on the subject are [1,2,4,29]. The inductive definitions were classified according to the complexity of the formulas defining them, and the key property of interest was the complexity of the corresponding closure ordinals. This could be expressed in terms of reflection properties as in [29] or by comparing classes of closure ordinals as in [1].
In this paper we will study non-monotone inductive definability over
The motivation for bringing up non-monotone induction once again is the observation that this functional represents a natural upper complexity-bound for a number of functionals appearing as realisers for classical theorems, such as the Heine–Borel theorem and the Baire Category theorem, when these theorems are expressed in a higher order language and not within the restricted language of second order arithmetic.
The first application of non-monotone inductive definitions known to the author is due to E. Borel [3]. The motivation of Borel was to give a direct proof of the theorem now known as the Heine–Borel theorem. The assumption was that we are given a way to associate an open neighbourhood
Realisers Ξ for the Lindelöf lemma for Baire space
In [20] the aim is to investigate real line topology with the purpose of classifying the complexity of theorems and concepts in terms of their reverse mathematics and computational complexity. Representations of open sets, such as being countable unions of rational neighbourhoods, are based on mathematical insight, and analysing the logical and computational strength of such insight is part of the aim of [20]. Given representations of open sets as in classical reverse mathematics, using second order arithmetic, the Baire Category Theorem is effective in the sense that given (a representation of) a sequence of dense open sets we can compute a fast-converging Cauchy-sequence for a point in the intersection. In [20, Theorem 6.5] it is proved that, using non-monotone induction, we can find a functional ξ taking a sequence
Overview and results
In Section 2 we will define the functional
In Section 3 we investigate the least ordinal π not computable in
Section 4 is a preparation for Section 5. In Section 4 we introduce what we call hyper-sequential procedures and in Section 5 we narrow down this concept to inductive procedures. These procedures model nested systems of non-monotone inductions, using our new concept of blockings to organise the nesting. The inductive procedures can be used to characterise the class of functionals of type 3 computable in
In Section 6 we look at some of the functionals serving as realisers for classical theorems in analysis, primarily theorems where the proof in some way depends on the compactness of the unit line or Cantor space. We will see that when such realisers are constructed in a natural way, they implicitly have the full power of non-monotone induction. In conjunction with the Suslin functional
In Section 7 we briefly discuss what it means to relativise these results to functionals of type 2 and in Section 8 we summarise the paper and discuss a few open problems.
Non-monotone induction and computability
Inductive definitions
Mathematically we can identify the Cantor set Let We view F as an inductive definition, defining the increasing sequence
If β is a limit ordinal, There will, for cardinality reasons, be a least countable ordinal If We are not fully in the realm of Kleene-computability, since this is developed for total functionals of pure type only. However, if G is of pure type 2, we may consider G as a code for
In [25] we have introduced an alternative, but equivalent, version of Kleene computability. This approach is based on typed λ-calculus and deals directly with mixed types.
If we need to point to the functional F, we write
We view
Given
In [22] the complexity of such functionals Φ witnessing that there is no injection from
Kleene [10] defined a relation
In this section we will mainly be concerned with computations of the form
Using transfinite recursion, we define the relation If If If If If If For this scheme there will be subcases, one for each type If If If
We have excluded S5, the scheme of primitive recursion, from our definition. There are two reasons for this. The main reason is that one may prove the recursion theorem on the basis of the other schemes, and thus S5 will be redundant. The other reason is that, since recursion is iterated composition, all arguments involving S5 that we need will be covered by how we deal with S4.
Kleene computability inherits several of the key properties of classical computability, such as the
We first prove that the prototype of discontinuity is computable in
We define the functional
The functional
Given
The Suslin functional
The Suslin functional
We use that
In the original definition of higher order computability via Kleene’s S1–S9, all objects were assumed to be total. This can be considered to be a defect of S8, where the input
A similar phenomenon takes place for Gandy’s Superjump
We write By recursion on the ordinal β, If
When the context is clear, we will talk about t-computations and p-computations.
There is a computable (in the sense of Turing) function ρ such that if
We use the recursion theorem to define ρ, and define it by cases according to S1–S9. It is obvious what to do in all cases except application of
So assume that
We assume familiarity with the concept of a prewellordering R on a domain
If R is a prewellordering on D, each element in the domain D will have an ordinal rank, and we let
– By R-recursion, compare
– In the first case, α must be a successor ordinal
Since we only will ask for values
From now on, when we write
The advantage of using p-computations is that now all computation trees will be countable, and all computations will have a countable ordinal as rank. We give a direct definition of this rank. In order to simplify the readability we introduce the following as a convention: With the expression
Let If e corresponds to S1–S3 or S7, we let the norm be zero. If If If
If
There is a partial functional P in two variables, p-computable in
We use the recursion theorem to construct P, and the definition is split into 81 cases, according to the schemes corresponding to e and d. S8 splits into two cases, S8.2 and S8.3 for applications of
We will give the details for three cases (S4, S8.3), (S8.2, S8.3) and (S8.3, S8.3). The remaining cases follow by similar, or even simpler, arguments. As is normal practise for this kind of construction/proof we define P by self reference, assuming for each case, as an induction hypothesis, that P works for the immediate subcomputations.
Case (S4, S8.3): Let
Let
Use P to compare
In the first case, let
If
Case (S8.2, S8.3): Let
As in the previous case, we simulate the induction in the second part while, at each step, comparing the length of the computations needed with those of each
Case (S8.3, S8.3): Let
Let Assume that Consider all computations involved in computing all If the norm of each computation in the first set is bounded by the norm of some computation in the second set, we add On the other hand, if there is one computation in the first set whose norm strictly bounds all norms of the computations in the other set, we add At least one of these two inductions will terminate through this process, and when it does, we know which one will terminate with lowest ordinal rank.
We leave the formal definition of this inductive definition for the reader. □
There is a p-computable selection operator ν such that for all e,
This is a soft consequence of Lemma 2.14, with an argument well known in the literature, see e.g. [5, Theorem 3.1.6], [13, Theorem 3], [30, Theorem X.4.1] or the original [6]. □
For many of the inductive definitions used, we add at most one new element to the inductively defined set at each stage. Such definitions can be defined by functionals F of pure type 2, identifying Let
The functionals
B has no maximal element s. Let A be the set of n such that If there are elements Otherwise, let
The induction induced by G will, one step at the time, build up approximations to the characteristic functions of the sets appearing in the induction induced by F. If
In this section we will analyse the computational power of
The companion
The companion of other functionals are defined in analogy with this. For instance, the companion of
There is a countable ordinal π such that
Since
Let
For each F there is an
The aim of this section is to find closure- and reflection-properties of
Let The set of The set of The set of
We say that these ordinals are
Let
That π is not
Let
We can code a partially enumerated set If R does not code an enumerated set Assume that R codes Assume now that Otherwise, we apply Gandy selection for
If
The closure ordinal π of
We also have
The closure-ordinal π of
We have to prove that if
Since being recursively Mahlo and other even stronger closure properties are also
We will now consider an alternative way of expressing that π must be a “large” countable ordinal. What is “large” is of course subject to the perspective one is taking.
An ordinal γ is reflecting if for all formulas
Note that if γ is reflecting, then γ is admissible and recursively inaccessible.
The closure ordinal π of
If
π will not be the least reflecting ordinal:
Let π be the closure ordinal of
This is also a consequence of Theorem 3.7, since being reflecting is These results do of course not imply that
Motivation
We introduced the functional
Since we are only concerned with functionals of type
A functional Φ of type 3 is normal if
The set of functionals of type 3 that are neither normal nor computable in type 2 objects is mainly unexplored with respect to computability-theoretical properties. The classical object of this kind is Gandy’s Superjump
In [25] we consider some other non-normal functionals of type 3, functionals that reflect natural constructions in ordinary mathematics and that are intrinsically partial. As these functionals are not computable in
Hartley [9] investigated the fully typed hierarchy of hereditarily countably based functionals, based on a definition due to Stan Wainer, and he obtained some general results. For instance, he proved that if we assume the Continuum hypothesis together with ZFC, Φ is countably based if and only if
The original definition of the countably based functionals is by a generalisation of the definition of the continuous functionals e.g. as based on domain theory, see [12, Chapter 10] for a recent introduction. In this paper, we will only be interested in objects of types 0, 1, 2 and 3, and we define the countably based functionals for these cases, suiting our own purposes:
All integers are countably based. Moreover
All total functions All partial functionals F mapping a subset of Let Φ be a partial functional taking countably based functionals of type 2 as arguments and yielding integers as values. Φ is countably based if we for each F and n such that
In (3), a base element for Φ will be a countable set A together with the restriction of an F to A with the property described.
One problem with the countably based functionals Φ is that the base elements of Φ are not well structured as individual sets, and a suitable class of base elements for Φ may not be well structured as a class. Much of the way of thinking inherited from the computability theory of the continuous functionals is useless. The aim of this section is to introduce a more restricted class, the hyper-sequential functionals, where we have added some further structure. Examples of hyper-sequential functionals will be the Superjump and
The definitions
In this section we will define what we mean with a hyper-sequential procedure. A transfinite calculation using a functional F as an oracle can be viewed as a sequence of queries of the form “what is
A string is a sequence A hyper-sequential procedure is a set Ω of strings where each string will be given an integer value, and such that whenever If If a string t is in a hyper-sequential procedure Ω, has a value a and matches F, we call t a calculation, calculating If Ω is a hyper-sequential procedure, then Ω defines (or computes) the partial functional A total functional of type 3 is hyper-sequential if there is a hyper-sequential procedure that defines it. If
We will from now on use the words procedure and sequential in the meaning of hyper-sequential procedure and hyper-sequential.
A procedure can be viewed as a strategy for a transfinite game where Player I, the computing device, plays queries and Player II, the input, answers each query using F. In some matches of the games, corresponding to the calculations, Player I wins the match in the sense of providing an output, while in other matches, Player II wins because the match either stops after countably many steps without a value, or it goes on through
Note that if t is a string that is an initial segment of several calculations, then the next
Let
A sub-string is a sequence
We can concatenate strings in the usual way: If we for each ordinal
If
We will prove that the class of sequential functionals of type 3 is closed under Kleene-computability as defined through the schemes S1–S9. To be more precise, we will prove that if
If
In the original definition by Kleene, this is only supposed to make sense when
As we will see in the sequel, being sequential the way we define it here is quite general, and thus the fact that this class is closed under Kleene computability may be of restricted interest. However, we will later refer to the construction of procedures imbedded in the proof of Lemma 4.7 in situations where we will show that much more restricted classes of functionals still are Kleene closed.
Since we, in this section, are primarily interested in functionals of type 3 computable in a given sequence of sequential functionals of the same type, we restrict the number of arguments of type 2 to one. We can do this because the number of type 2 arguments will not increase as we move down the paths of the computation tree. The number of arguments of type 0 and of type 1 may increase, so we need to consider arbitrarily long finite lists of such input arguments. Let If e is an index for an initial computation, i.e. for S1, S2, S3 or S7, we let If
In the case of S9, we just use the calculation for the immediate subcomputation. Let Let We let We inserted the pairs
Let e,
Assume that both If e is an index for an initial computation, the claim is trivial, and the induction step is trivial in the case of application of S9. Let e be an index for composition, and let If the calculations for the Application of Application of If the two concatenated calculations differ, there will be a least
The class of hyper-sequential functionals of type 3 is closed under relative Kleene-computability.
Immediate from Lemma 4.7. □ We can deduce, from the proof of Theorem 4.8, that all functionals of type 3 computable in functionals of lower types will be hyper-sequential.
This ends the definition.
Some of the objects we are interested in are of types at level
The other alternative is to extend the intuition of sequentiality to objects of these general types. A type like this will be of the form
Examples
Our first example is what motivated us to isolate the concept of hyper-sequential functionals:
The functional
Let
In his CiE-2019-paper [33], Philip Welch introduced infinite time Turing machines that can take functionals F of type 2 as oracles. The idea is to have a special oracle tape, and whenever the oracle F is called upon, we consider the oracle tape as the input information, and what the consequence of the oracle call will be will depend on the precise ITTM-model we are using. We have
Every ITTM-computable functional is sequential.
We leave this theorem without a proof, since the proof is easy, but requires familiarity with the ITTM-model.
Clearly, all sequential functionals are countably based. To what extent the converse is true is unknown, but we do have:
If the continuum hypothesis CH holds, all countably based total functionals will have extensions to partial functionals that are sequential.
We work within ZFC + CH. Let The sequential procedure will then be to compute For
We will have that
There is no reason to believe that the continuum hypothesis can be avoided in Theorem 4.12, but the theorem still suggests that the concept of hyper-sequential functional is too general to be of interest, and the intention is to investigate possible refinements of the concept. Now we will consider procedures that will include some extra information, a number or denotation
A denotation procedure Ω, d-procedure for short, will be a set Ω of calculations with denotations
The denotations The corresponding set of calculations without the denotations is a procedure. For each
By abuse of terminology, we will use Ω both for a d-procedure and for the corresponding procedure, making it clear in each case if we consider the denotations or not. Clearly, all d-procedures will define sequential, partial functionals as well. In fact we have
By the axiom of choice, all procedures Ω can be extended to d-procedures.
We simply use the axiom of choice to select one enumeration of α for each calculation
Let Ω be a d-procedure, let
The delay tells us for how much longer we must run a calculation before we can tell what the denotation will be.
A key property of a d-procedure is that we can use the denotations to code the procedure in a manageable way as a subset of the continuum.
Let Ω be a d-procedure. The representation of Ω will be the set of quadruples D is the set of When c is the value of the calculation. We say that a d-procedure Ω is If
The functional
For each b, we will construct a procedure for the 0–1-valued function
Let G be given. We will describe the calculation with denotation that will match G and conclude with the value For each Since the set of pairs If Let For a string in We introduce delays in this construction. Whenever we simulate one step in the induction, we must wait until we know if we are at the final step or not before we can decide what the denotation will be, and this involves a delay of length ω. Let Φ be a total functional of type 3. We say that Φ is
The class of
We build on the proof of Theorem 4.8 and the construction in Definition 4.5. We just have to show how to add the denotations In the cases of initial computations there are no ordinals to be denoted, and in the case of S9 we can keep the denotations as they are. In the case of composition, we can use When we compute g and then apply F to g, we use the map In the case where we apply the procedure It is clear that if two calculations, as in Definition 4.5 are equal, the denotations will be the same as well. This defines a d-procedure. It remains to show that the representation of this d-procedure will be We let the As usual, our If e is an index for an initial computation, we check if the given string is empty. If so, it is fine as a calculation, and we can read off the value from the index, the given Composition:
Let Application of F:
If this is the case, the given string generates, in analogy with the case for composition, strings If they are all ok we accept the given string as a calculation, and see that the value of Application of In the given string, first check if Then check for each of these intervals, where Finally, we collect these pairs In order to complete the argument we must prove that if this process works, then the computation in question, relative to any F matching the given string, will terminate with the chosen value, and prove that if the computation terminates for a total F, then our process terminates on the corresponding representation of the d-calculation, and again, that it gives the right value. Both arguments are by induction on the length of computations, the first for
We code these items as elements of
It remains to prove that the representation is
□
As a consequence of Lemmas 4.16 and 4.19 we see that all total functionals of type 3 computable in
The aim of this section is to narrow down a subclass of the d-procedures further in order to approach a characterisation of the class we are primarily interested in, the functionals computable in
Computability in
Matters are trivial if the d-procedure is hyperarithmetical: Let Φ be of type 3. Then Φ is computable in First let Φ be definable from the d-procedure Ω, and assume that the representation is In order to know what to do next, we first have to split between the two cases: are we able to give out a value for Now assume that Whenever Next we observe that when checking if a representation We have essentially used that the element of a There is no delay in the
This shows that the d-procedure will be
In this section we will give a closer analysis of the class of functionals of type 3 that are computable in Let
In this sub-section we will introduce two properties shared by all d-procedures in Let Ω be a procedure defining a total functional.
Let Let If t is isomorphic to a calculation If t is isomorphic to a proper initial segment Let Ω be a d-procedure for a total functional. We say that Ω is tame if Ω is Let Ω be the d-procedure for We need the full complexity of The class of functionals definable from tame d-procedures Ω is closed under Kleene computability. Let We use the recursion theorem to define, for each index e and extra inputs If F is of type 2 and If a string is in We define - e is an index for an initial computation given by S1-S3, S7: - Composition:
– We leave the cases for permutation and S9 for the reader, as those cases are even simpler. – Application of F:
– Application of If We check the next segment of In the latter case, the string is in By transfinite recursion on
It is now routine to verify the properties (i)–(iii). □
It is not the case that all functionals definable by a tame d-procedures will be computable in
Let Ω be a d-procedure for a total functional such that for any sub-string
If Ω in addition is tame, and the unique choice of
We code an entry
Given F, we design a non-monotone inductive definition Given X, we use Use Let
It is clear that the set
Further details are left for the reader. □
We will now add further structure to d-procedures, blocks. It will be like inserting commands of the form ∖begin{
Let Ω be the d-procedure for
Each ω-sequence will be a block in this case, and after each block we know what the denotation for the query
In the case of composition we constructed the calculations as concatenations of strings for the two parts, and when defining the new denotations, we paired the denotations from the first part with 0 and from the second part with 1. We may consider the first part as one block and the other part as another one, but if we know from the larger picture that we are entering a composition, there is no need for this. There is no delay in deciding what the denotations are inherited in the construction of denotations for compositions, as there is for the construction of denotations for transfinite recursions with an unknown end.
We will need the blocking structure on calculations to characterise functionals of type 3 computable in
The blocks will be organised in a nested way, with some blocks being sub-blocks of others. The point is that, within each block, we will define denotations along the way, and when the need of a delay is observed, we enter a sub-block where we form temporary denotations that at the end of the block will be rewritten to the true ones. The nesting of the blocks will reflect that there may be delays within a period of delay, so the rewriting of denotations may go through several levels.
We will now give the full definition: Let Ω be a tame d-procedure.
A block in Ω is an interval A blocking of Ω is a set of blocks for each calculation t in Ω satisfying:
Given two blocks in t, they are either disjoint or one is included in the other. For each calculation, all chains of blocks totally ordered by inclusion will be finite. t is one of the blocks in t. The level of a block If Moreover, if the two blocks coincide until one of them ends, they are equal. The blocking is tame if we in addition have There is a partial function For each block if If s is a block of level It is (c), (ii) that captures the essence of blocking, a block represents the local delay of deciding what the denotation one level up will be like, and will make it possible to simulate the evaluation of a procedure as a nested application of An Inductive Procedure is a tame A functional Φ of type 3 is definable from an inductive procedure if and only if Φ is computable in We first show that if Φ is definable from an inductive procedure, then Φ is computable from Given F, we construct the inductive definition If s has sub-blocks, then In order to prove the other direction we elaborate on the proofs that the class of functionals satisfying our requirements is closed under Kleene computability, and assume that The only case we need to consider is that of application of When we defined the denotations for these composed calculations, we gave them directly from the denotations in the When we constructed the d-procedure in this case, we gave the rules for transforming the denotations in this simulating block to denotations of the corresponding items in the full calculation, and this clearly can be relativised to the blocks in In order to tie the whole thing up showing that the definability and computability requirements of what we construct are satisfied, we need to use the recursion theorem for
(iii) above just makes the rest easier to express.
In this section we will consider pure computations
In our definition of a procedure, we used the parameter F to give values to queries, but at certain points we also inserted elements of the LOG, functions appearing as arguments in sub-computations but not necessarily as arguments in the main computable function or functional we design the procedure for.
When transforming a computation in
While transforming a computation
Recall the definition of π as the first ordinal with no code computable in
π is the supremum
First, we will prove that Then we prove that
Let
If
Partial procedures
In order to make constructions of procedures smoother, we have not insisted on the natural requirement that for each f and calculation, there is at most one occurrence of the query
We will now discuss what happens if we consider computations
We need to consider parameters
If we consider the construction of the inductive procedure more carefully, we can observe more closely what we construct in the case of non-termination, again by cases according to what the index e is like:
If e is an index for an initial computation, we constructed a trivial procedure yielding the correct output without any queries made.
In the case of composition, we first constructed the procedure for the inner component, and for the calculations in this procedure (the strings that give us an answer), we concatenated with calculations from the procedure of the corresponding outer component. In the case the composed computation does not terminate, we do construct a string modelling the leftmost non-terminating subcomputation.
In the cases where there will be exactly one subcomputation, what we do is using the string of that one.
In the cases of application of F or application of
In the case that e is not an index at all, the procedure will be trivial, but with non-termination as the conclusion.
If
These considerations contain the proof of
There is a total procedure Ω such that
The only property left is that we must be able to decide, using a
We also have
There is a non-terminating computation
If this were not the case we can use Gandy selection for Moschovakis witnesses were introduced in [14], and they were significant for the understanding of higher order computing relative to normal functionals and in set recursion. They are also introduced in [12, Section 5.2.2], and they were applied in the proof of [20, Theorem 6.6].
In a series of papers [16–22,27], written jointly with Sam Sanders, we investigate classes of functionals of type 3 that serve as realisers for classical theorems in analysis, and where each class contains elements computable in
There is an analogue with what we do in complexity theory where the complexity of a set often is measured by the resources required to decide membership in the set and not by what we can decide using small resources combined with the set as an oracle. In a mathematically precise way we will see that if we compute realisers for some classical theorems of analysis from
Let
An open covering of a set X in a topological space Assume that we have a way of attaching an open neighbourhood
In the papers with Sanders, we have considered coverings and related concepts primarily over the Cantor space
We have been looking at the following three classes:
A strong realiser for the Heine–Borel theorem will be a functional Θ such that whenever A weak realiser for the Heine–Borel theorem will be a functional θ such that whenever A Pincherle realiser will be a functional M such that whenever If
The following lemma is trivial:
Every strong realiser for the Heine–Borel theorem computes a weak one, and every weak realiser for the Heine–Borel theorem computes a Pincherle realiser.
The proof is left for the reader.
Let M be a Pincherle realiser that is countably based. Let
Assume not, let
Let M be a Pincherle realiser that is computable in
In [16, Theorem 5.1] it is proved that there is a functional F computable in
For a general procedure Ω and an arbitrary G, the calculation of
In [15] it is proved that
Let M be a Pincherle realiser. Then
Let The idea is, for each For all cases below, we assume that none of the earlier cases apply.
If Let If there is a - There is a z such that If we get to this point, the well-founded part of So far, we have defined
Let M be a Pincherle realiser that is computable in
Through items (1)–(3) above, we have constructed
It is a matter of routine to relativise concepts of computability to functions
In this section we will briefly discuss how the concept of an inductive procedure relativises to parameters
Given a partial functional Let G be a functional of type 2.
For A weakly arithmetical formula Let Ω be a procedure for a total functional Ω and There is a function The calculations in Ω have blockings, and the blocking structure is guided by the partial functions Let G be of type 2 and Φ of type 3. Then Φ is computable in One way is proved exactly in the same way that we proved that if Φ is definable by an inductive procedure, then Φ is computable in For the other direction, let Pairs It may be possible to avoid appearances of pairs
In this paper2
The paper was written in 2020, and has, since then, only undergone cosmetic changes and updates of the bibliography.
Are all ordinals
Are there ordinals computable in
A positive solution to Problem 1 would give us a nice characterisation of the closure ordinal π, but we conjecture that the answer is negative. We also believe that when the two problems are solved, the solution will show that they are connected.
Problem 2 asks if there is a gap-structure for computing with
This problem also suggests that there is a distinction between various functionals of type 3 similar to the one between predicative and non-predicative arguments in mathematics: in order to compute
We will end this paper with an example of a partial functional
We define F as a partial function from If X is a well ordering, use Gandy selection for If X is not a well ordering, we let
During the induction, a new index e must be found each time, so
Footnotes
Acknowledgements
I thank Sam Sanders for involving me in the project this paper is a spin-off from, for reading a preliminary version of this paper, and for giving valuable feedback on the exposition. Our joint project started with him asking me if I could say anything about the computational properties of some weird-looking functionals of type 3, of which
I am grateful to John Hartley for his comments on the exposition.
I am grateful to editors and anonymous referees of other papers from our joint project, their sharp comments often helped me think more clearly about how to present higher order computability in the context of those papers, and then of this one.
I also thank the participants of the seminar on mathematical logic at the University of Oslo for attending my informal talks on the subjects of this paper, and giving valuable feedback.
