Some of the earliest theorems in computability theory are those concerning splittings of computably enumerable (c.e.) sets. We say that is a splitting of A if , are c.e., disjoint and . One of the earliest results is Friedberg’s splitting theorem [13] which asserts that each noncomputable c.e. set has a nontrivial split, meaning that neither nor are computable.
One of the reasons that splitting theorems have interest is their interactions with the c.e. degrees. If , then holds in the Turing (and in fact weak truth table) degrees. Thus Sacks famous splitting theorem [18] asserts that for each noncomputable c.e. set A and noncomputable set B there is a splitting with for . Thus there is no least c.e. degree and all c.e. degrees are join reducible.
For more on the extensive interactions of splittings of c.e. sets with the c.e. degrees and other topics in classical computability theory, we refer to the somewhat dated but extensive paper Downey–Stob [12].
The current paper is concerned with interactions of splitting theorems and the jump operator. As observed by Soare, the standard proof of Sacks’ splitting theorem automatically give low c.e. sets , meaning that .
A natural question is to ask whether this is tight in some sense. Can c.e. sets always be nontrivially be split into non-low c.e. sets? Of course this question is only meaningful if A is non-low.
A strong counterexample would be provided by showing that each c.e. set A was mitotic meaning that it has a splitting where . Unfortunately Ladner [16] proved that not every c.e. set was mitotic, but also proved [17] that there were nonzero c.e. degrees containing only mitotic sets. For more on this see Downey and Slaman [11], and Griffiths [14].
Perhaps a weak example could be provided by only looking at jumps. However, Ingrassia and Lempp [15] proved that there are c.e. sets A such that there is no splitting with . Also Chih [5] has shown that there is a c.e. A set whose complement is not “semilow” (i.e. ), known as a speedable c.e. set, which cannot be split into a pair of c.e. speedable sets.
Towards the other direction, Ambos-Spies [1] proved that there is a complete c.e. set A such that if is a splitting, then at least one of or is low. Can we have that both sides of every nontrivial splitting of a complete set always low? That is, the only splits with both sides noncomputable are essentially Sacks’ splits? Downey and Stob [12] showed that the answer is no since if A is prompt (i.e. of promptly simple degree) then there is a splitting with and .
Finally Downey and Shore [10] proved the following
There is a high c.e. set A (i.e.) such that ifis a nontrivial splitting (i.e. neithernorare computable) of A then bothandare low2. (i.e.)
In terms of the jump operator, we show that Theorem 1.1 settles the matter since we prove the following definitive result.
If A is any non-low c.e. set, then there exists a non-low c.e. setand a non-computable c.e. setwith.
The question we answer with Theorem 1.2 has attracted several conjectures. Theorem 1.2 certainly conjectured to be true around 1990, but no proof appeared; and in recent years conjectured to be not true.
Our proof is somewhat subtle (and surprisingly difficult) in that we will essentially use that fact that we can begin with A non-prompt. To the authors’ knowledge, this is the first proof that nonuniformly splits into two cases, depending on whether A is prompt or tardy. Technically, we will use the tardy assumption to force certain “gaps” to remain open that we can argue that certain small numbers don’t enter sets capriciously. This is done by trying to build noncomputable sets at nodes α on the true path, with the below a minimal pair. This must fail on some witness since they are a minimal pair, and it is here that we meet the requirement. The technique should be useful elsewhere.
We will work up to the proof by first establishing the result with the assumption that A is high. Once this is done we modify the proof for the non-low case, which involves significant surgery on the tree from the high case for purely technical reasons. Certain fundamental ideas from the high case remain, and there are most easily understood without the additional nonuniformity present in the non-high case.
We remark that Downey and Ng [9] have shown that if we consider splitting with low replaced by superlow1
That is, .
then the splitting result fails more spectacularly, even for degrees. Downey and Ng showed that there is a c.e. degree a such that if in the c.e. degrees, then one of or is not totally ω-c.a. Being totally ω-c.a. is a weakening of being superlow (and array computable) and means that if then f has a computable approximation with a computable function h, such that . Downey and Ng also showed that every high c.e. degree is the join of two totally ω-c.a. c.e. degrees. This extends a classical theorem of Bickford and Mills [4] who showed that is the join of two superlow c.e. degrees. However, in [9] it is shown that there are (super-)high c.e. degrees that are not the joins of two superlow degrees. Finally, Ambos-Spies, Downey and Monath have proven
(Ambos-Spies, Downey, and Monath [2]).
Every c.e. set can be split into a pair of c.e. sets which are totally-c.a.
Here a is totally -c.a. means that every has an -approximation, given by effective Cantor Normal Form. (See Downey and Greenberg [6].) It is unknown if Theorem 1.3 can be improved to , even for degrees.
We refer to Soare [19] or the computability section of Downey-Hirschfeldt [8] as a general reference to our notation and terminology. We tend to use the Lachlan convention that appending to a parameter, indicates its state at stage s. We denote the jump function . The use of the jump function will be denoted by , and more generally, uses will be lower case letters of the functionals. Parameters don’t change from stage to stage unless indicated otherwise.
The evolution of the present paper
Ellen Chih established a sketch of a proof of the result proven in this paper, but no details have appeared, or are likely to, for various reasons.
Independently, and thinking Chih had claimed the opposite direction, the second author also worked on the problem. Both authors independently split the proof into the non-prompt and prompt case, which seems essential. In an e-mail to Downey, Leo Harrington described Chih’s proof which otherwise worked quite differently, and involved a lemma about lowness of independent interest. We give a proof of this Lemma in Section 5. Chih’s proof involved yet another level of nonuniformity, than the proof here. Our proof works through the Downey, Jockusch, Schupp non-lowness permitting machinery ([7]).
The point of all of this is that all errors in the present paper are due entirely to Downey. Given the long history of the problem, at least since 1990, it is important to get a proof in the literature.
The high case
We are given a c.e. set A of high degree and need to construct disjoint c.e. sets X and Y so that and meet the requirements
Using highness
We will begin by proving the result for the more familiar case that A is of high degree. This proof has most of the elements we need and we later modify the proof to the situation of A only assumed non-low, in Section 4.
Since A is high we are given an A-computable function such that for any computable function h,
Of course, we will have a approximation with use function . This is sped up so that at every stage s, for .
For each requirement R or P we will build computable functions h and use them to force elements into A. Namely, if a function h is associated with a requirement and for its sake we wish to enumerate a element into A to put into one of X or Y, we will arrange things so that the relevant element needed is bigger than , and we have not as yet defined . (In fact it will be that this is the least such z with undefined.) Note that can only change if some element enters . Now, we will define .
The opponent only have two options. Either it gives up on z and admits that , or it can change its stage s value to make . In the latter case we are supplied with a permission.
If the requirement is infinitely active, then we can ensure that h is computable. Hence option 1 can only occur for finitely many z, as is dominant. Option 2, will therefore occur almost always and hence almost always we get permissions from A.
We remark that with this methodology, as will also happen in the case that A is only non-low and not necessarily high, that although almost always A will permit, the opponent won’t let this happen promptly. Naturally, while we await a permission, some new strategy is begun with the assumption that this z does not permit. For a single requirement this is of no consequence, but as we later see, the lack or promptness is the essence of difficulties we have when we consider interactions of requirements.
The basic -module
Meeting works as follows. We will pick an index , potentially computable function h, and start argument 0 for h.
We will keep until a stage s is found where .
At this stage, we will declare that with use . where p is the first argument for which we have not yet defined .
For stages , until we see , we keep . To do this, whenever some number enters we will put at least one such number into . Notice for a fixed argument p of , this will only effect a finite number of numbers entering A, essentially bounded by .
Should we see a stage where , then we will try to make for some .
The way we will implement this idea is to now define .
The strategy for now stalls until we see a stage (if any) where changes. If we see such a stage we would return to step (i). would now assert control of the strategy and we would not do further work until (ii) is again found for .
While the strategy is stalled in (v), we’d begin the -strategy for a newly chosen argument , and whilst is stalled we would run through the same steps for , which would assert control of the first unused argument for h. In general, the strategy is initialized each time an strategy is no longer stalled. We always ensure that .
There are several outcomes to the module above. The module could get stuck in (i) for some fixed . This is outcome w which satisfies the requirement since , the -outcome. Otherwise we see that the module is infinitely often active, and hence h is total. Because is dominant, only finitely many can be permanently stuck in (v), and hence there is a least k with the outcome , saying that has come to a limit, and the whole cycle repeats infinitely often for this least . We would conclude that fails to exist. We would organize the outcomes as , an list on the tree.
In the case of outcome w, the -module has finite effect on the construction. In the case of outcome , for never again active, from some stage onwards, but thereafter there will be infinitely many stages where . At such stages s, the -module does not care if a number enters A, in the sense that we would not be forced by (iii) or (v) to put such a number into X.
The basic -module
This is essentially Friedberg Strategy.
Pick some .
We see that . Declare as active. We would begin a strategy on
We see some number for some active p enter A. In this case we put a into Y and win .
This strategy has two outcomes . (More thematically, we could use , where the left 1 represents s and the order type the number of times we play (ii). Using this, each time we play (ii) we can initialize on the priority tree to the right.) The second means that we get stuck waiting for (ii) on some , the first means we invoke (iii).
This module is finitary. The strategy wins because A is noncomputable, and hence some a must so enter.
The conflicts and their resolution
The first thing to note is that there are no conflicts between strategies. They want to put numbers into X. So we concentrate on vs . A above a is finitary and this simply works by initialization (by moving left on the tree).
So we will concentrate upon below an . As we said in Remark 3.1, the conflicts between the strategies above all revolve around the fact that it is the opponent who chooses when to enumerate elements into A to witness the domination of . Consider a version of guessing the outcome of is . It would like to see it’s witnessing element a enter A at a stage where . That is because at such a stage s, an element entering A would be free to enter Y to meet .
Certainly could begin it’s attack as per (ii) in ’s cycle at a stage where . But there is no a priori reason that such an element would enter while is not in (iii) or (v) for , when . If such an a entered when is in that part of its cycle, we’d be forced to put a into X, otherwise the strategy for would be invalidated. We would no longer have the ability to correct .
This conflict seems to be nearly fatal, and can be turned around to give a proof that there is no uniform method of constructing the split .
The method of solving the problem we use is rather unusual. We know that there is no problem is A is prompt by Downey and Stob [12], as mentioned earlier.
We desire that no small number like enters A while . The plan is to try to impose restraint on A for stages while this is true. Of course, A is played by the opponent, so any restraint must be indirect. This restraint is imposed by utilizing the fact that since A is not prompt, it must be cappable. That is, if A is not prompt then there is a noncomputable c.e. set B such that , by Ambos-Spies, Jockusch, Shore and Soare [3].
The idea is the following. We will build a c.e. set and try to meet the requirements
We will amalgamate these requirements with the outcomes of , met before. The outcomes will now read as of the form of . These are ordered by regarding as a pairing function, hence give a list, again of order type ω, below .
Now each of these subrequirements of will have associated with it a follower (for the jump function ) serving the role of discussed above. The rules of the basic module apply in that if something to the left acts then this witness is initialized.
The driver is that we don’t want random small numbers entering A which should be usable for some requirements being forced into X because , and either we want to change the value of this ((v) of the basic module) or maintain the value ((iii) of the basic module). The plan is to use the fact that for some m we must fail to meet, since A and B form a minimal pair.
The-strategy for.
The strategy works by generating a stream of numbers with (dropping the superscript) . We will say that is realized when we see . is defined as large and picked after becomes realized. is said to be B-permitted at stage s if it is realized and .
We modify the basic module as follows. We do this while is not yet diagonalized.
We will keep until a stage s is found where , and some (the largest such) has been permitted since the last stage we visited the node representing .
At this stage, we will declare that with use , where p is the first argument for which we have not yet defined .
For stages , until we see , we keep . To do this, whenever some number enters we will put at least one such number into . Notice for argument p, this will only affect a finite number of numbers entering A.
Should we see a stage where , then we will try to make for some .
The way we will implement this idea is to now define .
The following is new.
While this is happening, (i.e. since we began (iii)) should some number enter , then we will put into and declare that all subrequirements of of the form for some are diagonalized. That would finish the stage, and would be discarded.
The strategy for now stalls until we see a stage (if any) where changes. If we see such a stage we would return to step (i), with . We would declare that is no longer permitted.
As in the Basic Module,
While the strategy is stalled in (v), we’d begin the -strategy for the next not yet diagonalized with a newly chosen argument . In general, the strategy is initialized each time an strategy is no longer stalled. We always ensure that .
So why does this work? First note that if we get stuck in (i) or (iii) waiting for a flip in the value of then this is a global win for , and the outcome will be w. (Note, however, we could get stuck in (iv).)
Since there are infinitely many permitted (as B is noncomputable), Thus if the behaves honestly, we will infinitely often play outcomes of the form . We first claim that there is a least such .
Suppose not. We can move to a stage where we are never again left of , and hence thereafter is immortal. The stream of associated with is growing with time and hence there are infinitely many stages where asserts control of the -module. We cannot get stuck in (i) or (iii) by assumption, and hence the only way this can only act finitely often is either by being diagonalized (so that ), or by being stuck in (v).
Assuming that we are dealing with an infinitely active version ofon the true path,.
For the same reason as the basic module, only finitely many modules can be stuck in (v), as is dominant. If we assume that the node representing is on the true path, then for any , once it is B-permitted, either that permission will be initialized because of a higher priority acting at the next -stage, or we will begin an attack for the outcome associated with that . Now either that attack is initialized, or for almost all ’s the attack reaches (v), or a diagonalization occurs using via a -permission. Therefore . □
It follows that for some least , is on the true path and , no is ever enumerated into Q. Moreover, if we call this the true, then the following holds.
For the true, everycycle runs from (i) to (v). Suppose that a cycle is begun following a permission onat stageand reaches (v) at stage. Then no number enters A belowfor any stage.
So now we see how we can make no small numbers enter A whilst would put them into X. During a cycle, Lemma 3.4 says no small numbers enter A during a cycle. Between cycles, so outcome does not care about numbers entering A.
The strategy remains the same. It does not care about B, only the noncomputabilty of A. The point is that some strategy at left of a node τ representing could ask that a number entering A go into X for the sake of (iii). Since is total this can only happen finitely often and we can afford to initialize each time this request happens. Thus, in the case of A high, there is only finite injury from the left. In the later non-low case things are more complex.
The remainder of the argument is to put this on a tree in a standard way; and this is routine.
The case that A is only non-low
Being non-low resembles being “nonuniformly locally high”. This has been made precise in, for example, Downey, Jockusch and Schupp [7] where the methodology is used to show that non-low c.e. degrees contain c.e. sets of density 1 with no computable subset of density 1.
The idea is to try to build a proof that A is low, and we see that for some argument k this proof will fail. It will be here that we succeed.
In more detail, for the basic module first, we again split into infinitely many subrequirements . This time subrequirement k is attempting to give a limit lemma definition of , .
Initially, indicating that we believe that . At some stage s we see . The question is, should we change? What we will do in synchronise this belief with attempts to meet . We will have a current devoted to this subrequirement, as in the Basic Module of Section 3.2.
What we will do is now is to invoke the basic module; a modification of the one from the previous section. Currently we are keeping , until we hit (v) below. If, during the execution of the below, before we reach (iii) we seethen we abandon this attack. Note we are not yet initializing anything right of.
We will keep until a stage s is found where .
At this stage, we will declare that with use . Here p is some number chosen with (which denotes ).
For stages , until we see , we will monitor the situation, and if some number enters we declare by putting said number into X.
Should we see a stage where , then we will try to make for some .
New: The new way we do this is that we will finally define (with big use, in particular ), for unless (v) below occurs.
The strategy for now stalls until we see a stage (if any) where changes. If we see such a stage we would return to step (i). would now assert control of the strategy and we would not do further work until (ii) is again found for . Also making , for unless otherwise specified.
While the strategy is stalled in (v), we’d begin the -strategy for a newly chosen argument , and whilst is stalled we would run through the same steps for . It is here that initialization occurs. In general, the strategy is initialized each time an strategy is no longer stalled. We always ensure that .
Now the argument that the new -module succeeds is similar. Suppose that for all k, the k-module fails, and the outcome is not on the true path. Then each k module can only reach (v) finitely often. We claim that A is low, and is correct. The only time we change the value of is when we reach (v). This will be correct, unless a stage as above occurs, and then the value will be changed back to 0. The fact that each k-module only acts finitely often means that exists for all s. The fact that w is not correct, means that each cycle of the basic module is either completed or the computation goes away before the cycle if completed. The fact that we only initialize to the right at step (v), means that no false initiation of k-modules can upset our actions.
Therefore, some k module must succeed. If the -outcome is not correct, then this means that there is some least k which reaches (v) infinitely often and hence has no limit, and cannot compute where .
Finally adding the B-permitting is exactly as before with the changes according to the module above.
So here is how the construction looks at a node ρ devoted to . For undiagonalized , if we hit ρ, then we will either play the outcome w or be in some attack as described below.
If, during the execution of the below, before we reach (iii), we see then we abandon this attack at any stage u between the stage where the attack was begun and we hit ρ this time. Note we are not yet initializing anything right of . If this occurs, is no longer permitted.
We do not allow a strategy to initialize outcome to the right unless we hit (iv) where we define . i.e. is no longer permitted.
A consequence of these two outcomes is that there may be many -strategies played in parallel, because of the capriciousness of the . This is of no consequence, because we do not play nodes extending until we play (v) in the module.
We will keep until a stage s is found where , , , and some (the largest such) has been permitted since the last stage we visited ρ. (Note that the requirement means that at most one has defined at a stage.)
At this stage, we will declare that with use . Here p is some number chosen with .
For any stages , until this module is resolved, until we see , we will monitor the situation, and if some number enters we declare by putting said number into X.
Should we see a stage where , then we will try to make for some (i.e. using Θ).
While this is happening, (i.e. since we began (iii)) should some number enter , then we will put into and declare that all subrequirements of of the form for some are diagonalized. That would finish the stage, and would be discarded.
Else we will finally define , for unless (v) below occurs. It is at this stage that we would initialize right of .
The strategy for now stalls until we see a stage (if any) where changes. If we see such a stage we would return to step (i), with , putting the number entering A into X. We would decare that is no longer permitted.
When (v) occurs it is now that we would allow the construction to play strategies at nodes ν with .
While the strategy is stalled in (v), we’d begin the -strategy for the next not yet diagonalized with a newly chosen argument . In general, the strategy is initialized each time an strategy is no longer stalled. We always ensure that .
Now, in the construction, as opposed to the basic module, it is (iii) that causes a problem. It could be that some is working with a fake and during its cycle it sees a number entering A from the right and this number is below , forcing this number into X, to correct . This can only occur finitely in the high case as has a limit. But in the non-high case, it is conceivable it might happen infinitely often. Because of this, the modules below need to know if this happens. Thus for each outcome of the form we will have a second layer of outcomes guessing this behaviour. To wit, we would have finite sets coding the for which this fake behaviour, and it would be enough to order them numerically.
The plan would be that if a is guessing that is acting in this way infinitely often, it would demand that its where is the permitted associated with . This means that if some small a from this version is pulled by, then it will be so small thatwill succeed in diagonalizing. Hence, this set-up allows for infinitely many numbers to enter A left of the true path for , but conclude that they are so large that they are of no consequence for .
Being behaviour, we can play this each time this event fires as the outcome of by reaching (v).
Next suppose that τ is a -node. The strategy is similar, but takes the comments above into account.
First if τ is infinitely often accessible, then it will be allowed to cycle through its definitions of as desired. If it was infinitely often active, as A is noncomputable, this will produce infinitely many active a’s, and by construction, these are small. On the assumption that all the nodes above are on the true path, a cannot enter A at a stage where lest become diagonalized. Note that if this number a is forced into X, it can only be because of some strategy left of τ. In particular, it is some strategy of the form , with , and . If we are dealing with the leftmost version of τ on the true path we would have , since if this happens infinitely often, then and . But then we would put into , diagonalizing henceforth. Therefore, only finitely many such a can be pulled into X for version of at τ, assuming it is on the true path. Thus after some stage, they enter when and can successfully be put into Y and not X.
The result now follows.
Characterization of lowness
The proof sketch communicated to Downey by Harrington used a different strategy. This strategy involved a new characterization of lowness that is worth recording, and we do so here.
(Chih-Harrington).
A computably enumerable set A is low iff there is a computable order (i.e. increasing computable function) such that for all e,(Indeed, this will also hold for all ordersgrowing faster than f.)
First suppose that the hypothesis holds. Define iff and . Define otherwise. Then by hypothesis and the Limit Lemma is determined by , and hence .
Conversely, suppose that A is low. We define a computable function f. Since A is low we know that . (See Soare [19], XI, Lemma 3.1.) Hence by the Limit Lemma, there is a computable function h, and an enumeration of the c.e. sets, such that, for each stage s. We build uniformly for each e a c.e. set whose index is given by the Recursion Theorem. Initially, . Thus, initially, .
Stage s. We are ready to define .
will either be active or inactive. If e is inactive, then for all where u was the stage where it was declared inactive. If e was inactive at stage but now we will declare that e is active.
Suppose we see a stage s where , for some active e.
Then for all active , we do the following. While the active requirements are unconfirmed for all if we see (so that for e), we will put into , and hence at some stage given by the s-m-n Theorem, and we wait for a stage where either (i) or (ii) (Here we are using the hat convention, that if a computation changes on its use, it must diverge for at least one stage.) When we see this, we will declare that is confirmed. Once confirmed we do not allow a requirement active at stage s to become unconfirmed until stage defined below, so that each will have at most one activity cycle before we define .
We then define to be the first stage where all arguments n, active at stage s are confirmed, or for which during the confirmation process for active , for all .
Then f is clearly computable, and works. For suppose for all . Then it must be that for some . Then the only way that for some , is that by the conventions on X. By the Limit Lemma, this can happen only finitely often. The result follows. □
Footnotes
Acknowledgements
Downey thanks to the Marsden Fund of New Zealand. Many thanks to Leo Harrington for a long discussion about this result, and to Rutger Kuyper for many corrections of false claims.
K.Ambos-Spies, R.Downey and M.Monath, Notes on sacks splitting theorem, in preparation.
3.
K.Ambos-Spies, C.Jockusch, R.Shore and R.Soare, An algebraic decomposition of recursively enumerable degrees and the coincidence of several degree classes with the promptly simple degrees, Trans. Amer. Math. Soc.281 (1984), 109–128. doi:10.1090/S0002-9947-1984-0719661-8.
4.
M.Bickford and C.F.Mills, Lowness properties of r.e. sets, unpublished.
5.
E.Chih, Non-splitting of recursively enumerable sets, J. Symb. Logic80 (2015), 609–635. doi:10.1017/jsl.2014.83.
6.
R.Downey and N.Greenberg, A hierarchy of low computably enumerable degrees, unifying classes and natural definability, 172 pp., Submitted.
7.
R.Downey, C.Jockush and P.E.Schupp, Asymptotic density and computably enumerable sets, Journal of Mathematical Logic13 (2013), 43 pages. doi:10.1142/S0219061313500050.
8.
R.G.Downey and D.R.Hirschfeldt, Algorithmic Randomness and Complexity, Springer-Verlag, 2010.
9.
R.G.Downey and K.M.Ng, Splitting into degrees with low computational strength, Annals of Pure and Applied Logic, accepted.
10.
R.G.Downey and R.Shore, Splitting theorems and the jump operator, Annals Pure and Applied Logic94 (1998), 45–52. doi:10.1016/S0168-0072(97)00066-3.
11.
R.G.Downey and T.A.Slaman, Completely mitotic r.e. degrees, Ann. Pure Appl. Logic41 (1989), 119–152. doi:10.1016/0168-0072(89)90011-0.
12.
R.G.Downey and M.Stob, Splitting theorems in recursion theory, Ann. Pure Appl. Logic65 (1993), 1–106. doi:10.1016/0168-0072(93)90234-5.
13.
R.Friedberg, Three theorems on recursive enumeration, J. Symbolic Logic23 (1958), 308–316.
14.
E.Griffiths, Completely mitotic c.e. degrees and non-jump inversion, Annals of Pure and Applied Logic132 (2005), 181–207. doi:10.1016/j.apal.2004.06.008.
15.
M.Ingrassia and S.Lempp, Jumps of nontrivial splittings of r.e. sets, Z math. Logic. Grundlagen Math.36 (1990), 285–292. doi:10.1002/malq.19900360403.