Inherent enumerability of strong jump-traceability

We show that every strongly jump-traceable set obeys every benign cost function. Moreover, we show that every strongly jump-traceable set is computable from a computably enumerable strongly jump-traceable set. This allows us to generalise properties of c.e.\ strongly jump-traceable sets to all such sets. For example, the strongly jump-traceable sets induce an ideal in the Turing degrees; the strongly jump-traceable sets are precisely those that are computable from all superlow Martin-L\"{o}f random sets; the strongly jump-traceable sets are precisely those that are a base for $\text{Demuth}_{\text{BLR}}$-randomness; and strong jump-traceability is equivalent to strong superlowness.


Introduction
An insight arising from the study of algorithmic randomness is that anti-randomness is a notion of computational weakness. While the major question driving the development of effective randomness was "what does it mean for an infinite binary sequence to be random?", fairly early on Solovay [26] defined the notion of K-trivial sets, which are the opposite of Martin-Löf random sequences in that the prefix-free Kolmogorov complexity of their initial segments is as low as possible. While Chaitin [4,3] showed that each K-trivial set must be ∆ 0 2 , a proper understanding of these sets has only come recently through work of Nies and his collaborators (see for example [8,20,21,14]). This work has revealed that K-triviality is equivalent to a variety of other notions, such as lowness for Martin-Löf randomness, lowness for K, and being a base for 1-randomness. These other notions express computational weakness, either as the target of a computation or as an oracle: they either say that a set is very easy to compute, or is a weak oracle and cannot compute much.
The computational weakness of K-trivial sets is reflected in more traditional measures of weakness studied in pure computability theory. For example, every Ktrivial set has a low Turing degree. Recent developments in both pure computability and in its application to the study of randomness have devised other notions of computational weakness, and even hierarchies of weakness, and attempted to calibrate K-triviality with these notions. One such attempt uses the hierarchy of jump-traceability.
While originating in set theory (see [25]), the study of traceability in computability was initiated by Terwijn and Zambella [27,28]. Definition 1.1. A trace for a partial function ψ : ω ω is a sequence T ÜTÔzÕÝ z ω of finite sets such that for all z È dom ψ, ψÔzÕ È T ÔzÕ.
Thus, a trace for a partial function ψ indirectly specifies the values of ψ by providing finitely many possibilities for each value; it provides a way of "guessing" All authors were supported by the Marsden Fund of New Zealand, the first and the third as postdoctoral fellows. The second author was also supported by a Rutherford Discovery Fellowship. the values of the function ψ. Such a trace is useful if it is easier to compute than the function ψ itself. In some sense the notion of a trace is quite old in computability theory. W. Miller and Martin [18] characterised the hyperimmune-free degrees as those Turing degrees a such that every (total) function h È a has a computable trace (the more familiar, but equivalent, formulation, is in terms of domination). In the same spirit, Terwijn and Zambella used a uniform version of hyperimmunity to characterise lowness for Schnorr randomness, thereby giving a "combinatorial" characterisation of this lowness notion.
In this paper we are concerned not with how hard it is to compute a trace, but rather, how hard it is to enumerate it.

Definition 1.2. A trace T
ÜTÔzÕÝ is computably enumerable if the set of pairs ØÔx, zÕ : x È T ÔzÕÙ is c.e.
In other words, if uniformly in z, we can enumerate the elements of T ÔzÕ. It is guaranteed that each set T ÔzÕ is finite, and yet if T is merely c.e., we do not expect to know when the enumeration of T ÔzÕ ends. Thus, rather than using the exact size of each element of the trace, we use effective bounds on this size to indicate how strong a trace is: the fewer options for the value of a function, the closer we are to knowing what that value is. The bounds are known as order functions; they calibrate rates of growth of computable functions. Definition 1.3. An order function is a nondecreasing, computable and unbounded function h such that hÔ0Õ 0. If h is an order function and T ÜTÔzÕÝ is a trace, then we say that T is an h-trace (or that T is bounded by h) if for all z, T ÔzÕ hÔzÕ.
In addition to measuring the sizes of c.e. traces, order functions are used to define uniform versions of traceability notions. For example, computable traceability, the uniform version of hyperimmunity used by Terwijn and Zambella, is defined by requiring that traces for functions in a hyperimmune degree a are all bounded by a single order function.
Zambella (see Terwijn [27]) observed that if A is low for Martin-Löf randomness then there is an order function h such that every function computable from A has a c.e. h-trace. This was improved by Nies [20], who showed that one can replace total by partial functions. In some sense it is natural to expect a connection between uniform traceability and K-triviality; if every function computable (or partial computable) from A has a c.e. h-trace, for some slow-growing order function h, then the value ψÔnÕ of any such function can be described by log n log hÔnÕ many bits.
Following this, it was a natural goal to characterise K-triviality by tracing, probably with respect to a family of order functions. While partial results have been obtained [1,15] this problem still remains open. The point is that while K-triviality has been found to have multiple equivalent definitions, all of these definitions use analytic notions such as Lebesgue measure or prefix-free Kolmogorov complexity in a fundamental way, and the aim is to find a purely combinatorial characterisation for this class.
An attempt toward a solution of this problem lead to the introduction of what seems now a fairly fundamental concept, which is not only interesting in its own right, but now has been shown to have deep connections with randomness.

Figueira, Nies and
Stephan introduced a notion seemingly stronger than strong jump-traceability, called strong superlowness, which can be characterised using plain Kolmogorov complexity. Corollary 1.7. A set is strongly jump-traceable if and only if it is strongly superlow.
Proof. Figueira, Nies, and Stephan [10] showed that every strongly superlow set is strongly jump-traceable, and that the notions are equivalent on c.e. sets. Strong superlowness is also closed downward in the Turing degrees.
Unlike K-triviality, strong jump-traceability has both combinatorial and analytic characterisations. Proof. In [11] it is shown that every set computable from all superlow 1-random sets is strongly jump-traceable, and that every c.e., strongly jump-traceable set is computable from all superlow 1-random sets.
We remark that the results of [11] imply that every strongly jump-traceable set is computable from all superhigh random sets, but we do not yet know if all sets computable from all superhigh random sets are all strongly jump-traceable.
Another connection between strong jump-traceability and randomness passes through a notion of randomness stronger than Martin-Löf's, introduced by Demuth. As mentioned above, the Demuth analogue of the incomplete Martin-Löf covering problem was solved by Greenberg and Turetsky, giving yet another characterisation of c.e. jump-traceability. This characterisation cannot, of course, be extended to all sets, since every Demuth random is computable from itself. The analogue of the covering problem for all sets is the notion of a base for randomness: a set A is a base for a relativisable notion of randomness R if A is computable from some R A -random set. Hirschfeldt, Nies and Stephan [14] showed that a set is a base for Martin-Löf randomness if and only if it is K-trivial. On the other hand, while every base for Demuth randomness is strongly jump-traceable (Nies [23]), these two notions do not coincide (Greenberg and Turetsky [13]). However, this relies on the full relativisation of Demuth randomness. Recent work of Bienvenu, Downey, Greenberg, Nies and Turetsky [2] discovered a partial relativisation of Demuth randomness, denoted Demuth BLR , which is better behaved than its fullyrelativised counterpart. Corollary 1.9. A set is strongly jump-traceable if and only if it is a base for Demuth BLR -randomness.
Proof. Nies [23] showed that every set which is a base for Demuth randomness is strongly jump-traceable. An examination of his proof, though, shows that for the Demuth test he builds to use the hypothesis of being a base for Demuth randomness, the bounds he obtains are computable. In other words, his proof shows that every set which is a base for Demuth BLR randomness is strongly jump-traceable.
In the other direction, by [13], every c.e., strongly jump-traceable set A is computable from a Demuth random set, and by [2], each such set is also low for Demuth BLR randomness, and so in fact computable from a ÔDemuth BLR Õ A -random set, in other words, is a base for Demuth BLR randomness. Again this notion is downwards closed in the Turing degrees.
Our proof of Theorem 1.5 utilises a concept of independent interest, that of a cost function. Formalised by Nies (see [22]), cost function constructions generalise the familiar construction of a K-trivial set (see [9]) or the construction of a set low for K (Mučnik, see [7]). Indeed, the key to the coincidence of K-triviality with lowness for K is the fact that K-triviality can be characterised by obedience to a canonical cost function.
In this paper, we define a cost function to be a ∆ 0 2 , non-increasing function from ω to the non-negative real numbers R . A cost function c satisfies the limit condition if its limit lim x cÔxÕ is 0. A monotone approximation for a cost function c is a uniformly computable sequence Üc s Ý of functions from ω to the non-negative rational numbers Q such that: each function c s is non-increasing; and for each x ω, the sequence Üc s ÔxÕÝ s ω is non-decreasing and converges to cÔxÕ.
Here we use the standard topology on R to define convergence, rather than the discrete topology which is usually used to define convergence of computable approximations of ∆ 0 2 sets and functions. A cost function is called monotone if it has a monotone approximation. In this paper, we are only interested in monotone cost functions which satisfy the limit condition, and so when we write "cost function", unless otherwise mentioned, we mean "monotone cost function satisfying the limit condition".
If ÜA s Ý is a computable approximation of a ∆ 0 2 set A, then for each s ω, we let x s be the least number x such that A s¡1 ÔxÕ A s ÔxÕ. If Üc s Ý is a monotone approximation for a cost function c, then we write c s ÔA s Õ for c s Ôx s Õ. It is understood that if A s A s¡1 , then no cost is added at stage s to the sum c s ÔA s Õ. Nies [24] showed that obedience does not depend on the monotone approximation for c; that is, if A obeys c, then for any monotone approximation Üc s Ý for c, there is a computable approximation ÜA s Ý of A for which the sum above is finite. See Proposition 3.2 below. However, different approximations for A may cause the sum to be infinite. Unlike K-triviality, strong jump-traceability cannot be characterised by a single cost function; one way to see this is by considering the complexity of the index-set of strong jump-traceability, which is Π 0 4 -complete (Ng [19]). Greenberg and Nies [12] isolated a class of cost functions which together characterised strong jumptraceability on the c.e. sets. Benignity is an effective witness for the limit condition. It is a generalisation of the additive property of the canonical cost function for Ktriviality.
Let Üc s Ý be a monotone approximation for a cost function c, and let ǫ 0 be rational. We define an auxiliary sequence of markers m 1 ÔǫÕ, m 2 ÔǫÕ, . . . , by letting m 1 ÔǫÕ 0, and given m k ÔǫÕ, letting m k 1 ÔǫÕ be the least s m k ÔǫÕ such that c s Ôm k ÔǫÕÕ ǫ, if there is such a stage s; otherwise, m k 1 ÔǫÕ is undefined. The fact that lim c s c and that lim c 0 shows that the sequence Üm k ÔǫÕÝ must be finite, and so we can let kÔǫÕ k ÜcsÝ ÔǫÕ be the last k such that m k ÔǫÕ is defined. Definition 1.11. A cost function c is benign if it has a monotone approximation Üc s Ý for which the function ǫ k ÜcsÝ ÔǫÕ is bounded by a computable function.
Note that if Üc s Ý witnesses that c is benign, then the last value mÔǫÕ m kÔǫÕ ÔǫÕ need not be bounded by a computable function; it is ω-computably approximable (ω-c.e.).
Greenberg and Nies showed that a c.e. set is strongly jump-traceable if and only if it obeys all benign cost functions. Much like obeying the canonical cost function captures the dynamics of the decanter and golden run methods which are used for working with K-trivial oracles, this result shows that benign cost functions capture the dynamics of the box-promotion method when applied to c.e., strongly jump-traceable oracles.
Greenberg, Hirschfeldt and Nies [11] showed that every set, not necessarily c.e., which obeys all benign cost functions, must be strongly jump-traceable. In this paper we show that obeying benign cost functions in fact characterises strong jumptraceability on all sets. The fact that every K-trivial set is computable from a c.e. one is also deduced using obedience to the canonical cost function. It is easy to see that if a computable approximation ÜA s Ý witnesses that A obeys a cost function c, then the associated change-set, which records the changes in this approximation for A, is a c.e. set which computes A and also obeys the cost function c. Hence Theorem 1.12 almost gives us Theorem 1.5; the connection between benign cost functions and strong jumptraceability established in [12] shows now that if A is a strongly jump-traceable set, and h is an order function, then there is an h-jump-traceable c.e. set which computes A. (We note that this result implies all the corollaries above). We get Theorem 1.5 by showing: Theorem 1.13. There is a benign cost function c such that for any ∆ 0 2 set A obeying c, there is a c.e. set W computing A, which obeys all cost functions that A obeys. Theorem 1.5 is an immediate consequence of the conjunction of Theorems 1.12 and 1.13. We prove Theorem 1.12 in Section 2 and Theorem 1.13 in Section 3.

Strongly jump-traceable sets obey benign cost functions
In this section we prove Theorem 1.12. As we mentioned above, one direction of the theorem is proved in [11]. For the other direction, we are given a strongly jump-traceable set A, and a benign cost function c, and show that A obeys c.
2.1. Discussion. Our departure point is a simplified version of the original argument showing that every strongly jump-traceable set is ∆ 0 2 . Suppose that we are given a strongly jump-traceable set A, and we wish to find a computable approximation ÜA s Ý for A. The idea is to test binary strings, potential initial segments of A. For example, to determine AÔ0Õ, we try to test both strings Ü0Ý and Ü1Ý, and hopefully get an indication which one is an initial segment of A. Our belief about which one may change from time to time, but we need to make sure that it changes only finitely many times, and eventually settles on the correct value. While we fluctuate between Ü0Ý and Ü1Ý, we also test strings of length 2, and match up our guess for which string of length 2 is an initial segment of A with the current guess about which string of length 1 is an initial segment of A. Again, our belief about strings of length 2 may change several times, indeed many more than the changes between Ü0Ý and Ü1Ý, but eventually it should settle to the correct value.
How do we test strings of a given length? We define a functional Ψ, fix an order function h, which will be designed to grow sufficiently slowly as to enable the combinatorics of the construction, and by the recursion theorem (or by using a universal trace), we have a c.e. trace ÜTÔzÕÝ for the partial function Ψ A , bounded by h. To test, for example, all strings of a length ℓ on some input z, we define Ψ σ ÔzÕ σ for every string σ of length ℓ. We then only believe strings which show up in the trace T ÔzÕ. If hÔzÕ 1 then we are done, since only one string may show up in T ÔzÕ, and the correct string A ℓ must appear in T ÔzÕ. However, h must be unbounded, and once we tested a string σ on some input z, we cannot test any extensions of σ on the same input; for the functional Γ must be kept consistent. What do we do, then, if hÔzÕ 1, and more than one string of length ℓ shows up in T ÔzÕ? This is where box promotion comes into place. Suppose that initially, we use inputs z such that hÔzÕ ℓ to test strings of length ℓ (such inputs are sometimes called ℓ-boxes). So when we test strings of length 2, of the four possibilities, we believe at most two. At first, we believe the first string of length 2 which shows up in the relevant trace component, say Ü00Ý. If another string shows up, say Ü01Ý, we move to test the length 2 on 1-boxes which we have reserved for this occasion. The reason we can do this is that some 2-boxes have been promoted : if Ü00Ý is correct, then boxes z for which Ü01Ý È T ÔzÕ have spent one of their slots on an incorrect strings. If, for example, later, we believe both Ü000Ý and Ü001Ý, since both have appeared in (the trace for) 3-boxes, then we can use the promoted 2-boxes to decide between the two strings of length 3. After all, neither of these strings extend Ü01Ý, as Ü01Ý has been discovered to be incorrect, and so we can test these strings in the promoted boxes without violating the consistency of Γ. In general, the promotion mechanism ensures that we have an approximation for A for which there are at most ℓ changes in our belief about A ℓ.
Let Üc s Ý be a monotone approximation for c which witnesses that c is benign; let m k ÔǫÕ be the associated markers. To construct a computable approximation ÜA s Ý for A for which the sum s c s ÔA s Õ is finite, we need, roughly, to give a procedure for guessing initial segments of A such that for all n, for all k kÔ2 ¡n Õ, the number of changes in our belief about A m k Ô2 ¡n Õ is (say) n. The computable bound on kÔ2 ¡n Õ, the number of lengths we need "test at level n", allows us to apportion, in advance, sufficiently many n-boxes to deal with all of these lengths, even though which lengths are being tested at level n is not known in advance. The fact that the lengths themselves are not known in advance necessitates a first step of "winnowing" the strings of new lengths m k Ô2 ¡n Õ, so that instead of dealing with 2 m k Ô2 ¡n Õ many strings, we are left with at most n such strings. This is done by testing all strings of the given length on an n-box reserved for this length, as described above.
As is the case with all box-promotion constructions, the heart of the proof is in the precise combinatorics which tell us which strings are tested on which boxes. One main point is that while we need to prepare n-boxes for the possibility that lengths tested at higher levels are promoted all the way down to level n, the number of such promotions must be computably bounded in n, and cannot rely on the computable bound on kÔ2 ¡Ôn 1Õ Õ, kÔ2 ¡Ôn 2Õ Õ, . . . . That is, the number of promotions must be tied to the size (or level) of the boxes, and not on the number of lengths that may be tested at that level.
Consider, for example, the following situation: at some level n, we are testing two lengths, ℓ 1 and ℓ 2 , and tests have returned positively for strings σ 0 and σ 1 of length ℓ 1 , and strings τ 0 and τ 1 of length ℓ 2 . If, to take an extreme situation for an example, the strings σ 0 , σ 1 , τ 0 , τ 1 are pairwise incomparable, we could test them all on a single input z before we believe them; when we discover which one of them is correct, the other values are certified to be wrong, and give the box z a promotion by three levels. If, on the other hand, τ 0 extends σ 0 and τ 1 extends σ 1 , then we cannot test τ 0 on boxes on which we already tested σ 0 , and the same holds for τ 1 and σ 1 . We do not want, though, to let both lengths be promoted (moved to be tested on Ôn ¡ 1Õ-boxes) while n-boxes are only promoted by one level (containing only one incorrect value). In this case our action depends on timing: If σ 0 and σ 1 appear before τ 0 and τ 1 appear, we promote the length ℓ 1 . We do not promote ℓ 2 , unless another string of length ℓ 2 appears. If no such new string appears, then our belief about which of σ 0 or σ 1 is an initial segment of A will dictate which of τ 0 or τ 1 we believe too.
If τ 0 and τ 1 appear before we see both σ 0 and σ 1 , then we promote the length ℓ 2 . In this case, certainly our belief about which of τ 0 or τ 1 is an initial segment of A would tell us whether to believe σ 0 or σ 1 . In the first case, an important observation is that if another string ρ of length ℓ 2 appears, then ρ cannot extend both σ 0 and σ 1 . If ρ does not extend σ 0 , say, then we can test σ 0 , ρ and τ 1 all on one box, and so this box will be eventually promoted by two levels, justifying the promotion of both lengths ℓ 1 and ℓ 2 to be tested on Ôn ¡ 1Õ-boxes. Of course, during the construction, we need to test strings on a large number of boxes, to allow for all possible future combinations of sets of strings involving the ones being tested, including strings of future lengths not yet observed.
2.2. Construction. As mentioned above, let Üc s Ý be a monotone approximation for c which witnesses that c is benign; let m k ÔǫÕ be the associated markers. We force these markers to cohere in the following way. For n ω and s ω let We summarise the properties of the functions l s in the following lemma. (1) Each function l s is non-decreasing, with n l s ÔnÕ maxØn, sÙ.
(2) For each n, the sequence Ül s ÔnÕÝ s ω is non-decreasing, and takes finitely many values. Indeed, the function n # Øl s ÔnÕ : s ωÙ is computably bounded.
(3) For all n and s, c s Ôl s ÔnÕÕ 2 ¡n .
We fix a computable function g bounding the function n # Øl s ÔnÕ : s ωÙ.
n 2¨b e the number of subsets of Ø1, 2, . . . , nÙ of size at most 2. We partition ω into intervals M 1 ,I 1 , M 2 , I 2 , . . . ; the interval M n has size αÔnÕ n gÔnÕ and the interval I n has size n gÔnÕ. We define an order function h so that hÔxÕ n for every x È M n I n .
As mentioned, we enumerate a functional Ψ. Either by using the recursion theorem (as was done in [5]) or by using a universal trace (as in [12]), we obtain a number o È ω and a c.e. trace T ÜTÔzÕÝ for Ψ which is bounded by maxØh, oÙ.
Each level n o will list an increasing sequence of lengths ℓ n 1 , ℓ n 2 , . . . which will be tested at level n. The list is dynamic -we may extend it during the construction. However, we will need to ensure that the length of the list is bounded by n gÔnÕ. The testing of lengths at level n will be in two parts.
A. Initial testing of all strings of length ℓ n k will be performed on a reserved input from the interval I n . We thus enumerate the elements of I n as Øz n 1 , z n 2 , . . . , z n n gÔnÕ Ù; the input z n k is reserved for initial testing of all strings of length ℓ n k . We note here that as the list of lengths ℓ n 1 , ℓ n 2 , . . . may not necessarily reach its maximal length n gÔnÕ, it is possible that some inputs z n k will never be used. This is one reason for the fact that Ψ A will be a partial function. In this way we use the full hypothesis of strong jump-traceability of A; we cannot hope to make Ψ A total, and so the proof would not work for merely c.e. traceable oracles.
B. The main bulk of the testing of strings of length ℓ n k would be performed on inputs from M n . To maximise the interaction between the various lengths (to obtain maximal promotion, we need to test large antichains of strings on inputs from M n ), we think of M n as an Ôn gÔnÕÕ-dimensional hypercube, the sides of which each have length αÔnÕ. We let DÔnÕ Ø1, 2, . . . , n gÔnÕÙ be the set of Let n È Öo, . . . , s×. The action at level n at stage s is as follows: 1. If n s and some lengths have just been promoted from level n 1, we append them to the list of lengths ℓ n Suppose that σ n k ÔiÕ has appeared in T Ôz n k Õ. Recall that P ÔnÕ is the collection of subsets of Ø1, 2, . . . , nÙ of size at most 2. For every ν : DÔnÕ P ÔnÕ such that i È νÔkÕ, we test σ n k ÔiÕ on z ν z n ν . Fix such ν. We need to ensure that Ψ remains consistent; the point is that there may be strings comparable with σ σ n k ÔiÕ which are already tested on z ν . To test σ on z ν while keeping Ψ consistent, we define Ψ τ Ôz ν Õ τ for every extension τ of σ of length s which does not extend any string already tested on z ν .
Using other notation, we let Z ν,s be the collection of strings ρ for which we defined Ψ ρ Ôz ν Õ ρ by the end of stage s, and let Z ν,s ÖZ ν,s × be the clopen subset of Cantor space 2 ω determined by the set of strings Z ν,s (the collection of all infinite extensions of strings in Z ν,s ). Testing a string σ on z ν at stage s means adding strings of length s to Z ν,s¡1 so as to keep Z ν,s an antichain, but ensuring that Öσ× Z ν,s .
Let k n gÔnÕ such that ℓ n k is defined by stage s, and let i n such that σ n k ÔiÕ is defined by stage s, that is, T Ôz n k Õ already contains at least i many elements by stage s. The test of σ n k ÔiÕ is successful if for all ν such that i È νÔkÕ, that is, for all ν such that σ was tested on z ν , we have Öσ× T s Ôz ν Õ À. In other words, if some string which is comparable with σ appears in T Ôz ν Õ by stage s.
For the purpose of the following definition, let ℓ n 0 0. We say there is a conflict at length ℓ n k (and level n) if there are two strings σ 0 σ n k ÔiÕ and σ 1 σ n k ÔjÕ of length ℓ n k , both of whose tests are successful by stage s, such that σ 0 ℓ n k¡1 σ 1 ℓ n k¡1 . We note, for future reference, that if there is a conflict at length ℓ n k at stage s, then this conflict persists at every later stage.
At stage s, if n o, then we promote to level n ¡1 all lengths ℓ n k for which there is a conflict at stage s, and which are longer than any length already tested at level n ¡ 1.
These instructions determine our action for level n at stage s, and so completely describe the construction.
2.3. Justification. Before we show how the construction gives us the desired approximation for A, we first need to show that we can actually implement the construction. We need to prove that we have allocated sufficiently many n-boxes to each level n; that is, we must show that the list of lengths Üℓ n k Ý tested at level n has length at most n gÔnÕ. There are two streams contributing lengths to test at level n: lengths promoted from level n 1, and lengths of the form l s ÔnÕ. Of the latter, there are at most gÔnÕ many. Hence, it remains to show that there are at most n many lengths that are promoted by level n 1. Shifting indices, we show that level n promotes at most n ¡ 1 many lengths.
Indeed, we show the following: To prove Lemma 2.2, fix n o and s o. Let N be the number of lengths at which there is a conflict (at level n) at the end of stage s. We show that there is some ν : DÔnÕ P ÔnÕ such that T s Ôz ν Õ ¡ 1 N . Using the fact that n o and z ν È M n we see that T s Ôz ν Õ n, which establishes the desired bound.
In order to define ν, we define an increasing sequence of antichains of strings, indexed in reverse C ksÔnÕ 1 C ksÔnÕ C ksÔnÕ¡1 ¤ ¤ ¤ C 1 , starting with C ksÔnÕ 1 À. Each set C k consists of strings of lengths ℓ n k ½ for k ½ k. Let k È Ø1, . . . , k s ÔnÕÙ; we assume that C k 1 has been defined, and we show how to The definition is split into two cases. First, suppose that there is no conflict at stage s in length ℓ n k . We then let C k C k 1 and νÔkÕ À.
We assume then that there is a conflict in length ℓ n k at stage s. Let σ 0 σ n k ÔiÕ and σ 1 σ n k ÔjÕ be a pair witnessing this conflict. We let C k be a maximal antichain from C k 1 Øσ 0 , σ 1 Ù containing C k 1 . In other words, if neither σ 0 nor σ 1 are comparable with any string in C k 1 , then we let C k C k 1 Øσ 0 , σ 1 Ù; otherwise, if either σ 0 or σ 1 is incomparable with all the strings in C k 1 , then we let C k be one of C k 1 Øσ 0 Ù or C k 1 Øσ 1 Ù, making sure that we choose so that C k is an antichain; and finally, if both σ 0 and σ 1 are comparable with strings in C k 1 , then we let C k C k 1 . Now given the sequence of sets C k , we can define the index function ν: For k È Ø1, 2, . . . , k s ÔnÕÙ, we let νÔkÕ Øi n : σ n k ÔiÕ È C k Ù . For k È Øk s ÔnÕ 1, . . . , n gÔnÕÙ, we let νÔkÕ À.
Since the strings in C k of length ℓ n k are precisely the strings in C k ÞC k 1 , we see that for all k, νÔkÕ is indeed a set of size at most 2, so ν is a function from DÔnÕ to P ÔnÕ. The point of this definition is that the strings tested on z ν are precisely the strings in C 1 .
Proof. For every string τ in D k which has no extension in D k 1 , there is an exten- Claim 2.4. If ℓ n k has a conflict at stage s, then p k p k 1 . Proof. Let σ 0 and σ 1 be the strings that were chosen at step k to witness that ℓ n k has a conflict at stage s. By definition of having a conflict, σ 0 ℓ n k¡1 σ 1 ℓ n k¡1 ; we let τ denote this string.
There are three cases. In all three cases, we note that every string in D k other than possibly τ has an extension in D k 1 .
If C k C k 1 Øσ 0 , σ 1 Ù then we need to show that D k D k 1 1, which follows from the fact we just mentioned, that every string in D k other than τ has an extension in D k 1 .
In the second case, we assume that C k is obtained from C k 1 by adding one string, say σ 0 ; we need to show that D k D k 1 . But σ 1 is comparable with some string in C k 1 , and in fact must be extended by some string in C k 1 . Hence σ 1 È D k 1 , i.e. τ is extended by some string in D k 1 , and therefore every string in D k is extended by some string in D k 1 .
Finally, suppose that C k 1 C k ; we need to show that D k 1 D k ¡1. Since both σ 0 and σ 1 are comparable with elements of C k , both are elements of D k 1 , and so τ has two extensions in D k 1 , while every other string in D k has an extension in D k 1 .
Hence p 1 N . If C 1 is empty, then N 0, so we may assume that C 1 is nonempty, and so C 1 p 1 1 is at least one more than N . Then Lemma 2.2, and with it our justification for the construction, is completed once we establish the following claim.
Proof. We show that T s Ôz ν Õ contains only strings which are extensions of strings in C 1 , and that each string in C 1 has an extension in T s Ôz ν Õ.
Recall that we let Z ν,s be the collection of strings that were actually tested on z ν by stage s, that, is, the collection of strings ρ for which we defined Ψ ρ Ôz ν Õ ρ by the end of stage s.
Our instructions (and the definition of ν) say that the strings tested on z ν are precisely the strings in C 1 . Since C 1 is an antichain, this means that before some string σ is tested on z ν , we have Öσ× Z ν,t À, and so when testing σ, we only add extensions of σ to Z ν,s . Since we assumed that T s Ôz ν Õ Z ν,s , we see that all strings in T s Ôz ν Õ are extensions of strings in C 1 .
Let σ È C 1 . Then σ σ n k ÔiÕ for some k and i is part of a pair of strings witnessing that there is a conflict at length ℓ n k (and level n) by stage s. So the test of σ on M n is successful by the end of stage s. Since σ is tested on z ν , we have Öσ× T s Ôz ν Õ À.
Since no proper initial segment of σ is tested on z ν , this means that some extension of σ is an element of T s Ôz ν Õ.

The approximation of A.
We now show how to find a computable approximation for A witnessing that A obeys c.
For n o, let kÔnÕ lim s k s ÔnÕ be the number of lengths ever tested at level n.
Lemma 2.6. For all n o and all k kÔnÕ, The string A ℓ n k is eventually successfully tested at level n.
Proof. Let s 0 be the stage at which the length ℓ n k is first tested at level n. Let ρ A ℓ n k . At stage s 0 , we define Ψ ρ Ôz n k Õ ρ, and so Ψ A Ôz n k Õ ρ. Since T traces Ψ A , we have ρ È T Ôz n k Õ; this is discovered by some stage s 1 s 0 . At stage s 1 we test ρ on elements z ν of M n . Fix such an input z ν . We need to show that Öρ× TÔz ν Õ is nonempty.
At stage s 1 , we enumerate strings into Z ν to ensure that Öρ× Z ν . Hence A È Z ν , in other words, z ν È dom Ψ A . Since T traces Ψ A , we have Ψ A Ôz ν Õ È T Ôz ν Õ. All axioms of Ψ are of the form Ψ τ ÔzÕ τ for binary strings τ , so τ Ψ A Ôz ν Õ is an initial segment of A, and so is comparable with ρ. Then Öτ× TÔz ν Õ implies that Öρ× TÔz ν Õ À.
For n È Öo, . . . , s×, let ℓ n Ös× ℓ n ksÔnÕ be the longest length tested at level n at the end of stage s. Then for all s o, ℓ o Ös× ℓ o 1 Ös× ¤ ¤ ¤ ℓ s Ös× s, because if we let ℓ n Ös× l s ÔnÕ at stage s, then (Lemma 2.1) l s Ôn 1Õ l s ÔnÕ and so we define ℓ n 1 Ös× l s Ôn 1Õ if this length is longer than previous lengths tested at level n 1. Also, since at stage s we test s l s ÔsÕ at level s, we see that for all s n, ℓ n Ös× n. We note that other than specifying ρ ¦ , the construction is uniform (in the computable index for Üc s Ý). The reason for the nonuniform aspect of the construction is the overhead o charged by the recursion theorem; if we had access to 1-boxes, the construction would be completely uniform.
Let s s o and n o. A string σ of length ℓ n Ös× is n-believable at stage s if: σ extends ρ ¦ ; and for all m È Öo, n×, and for all k k s ÔmÕ, the string σ ℓ m k is successfully tested at level m by the end of stage s. Lemma 2.6 shows that for all n, the string A ℓ n is n-believable at almost every stage. Let n o, and suppose that there is at most one string which is Ôn ¡ 1Õbelievable at stage s. Suppose, for contradiction, that there are two strings τ 0 and τ 1 which are both n-believable at stage s. Then both τ 0 ℓ n¡1 Ös× and τ 1 ℓ n¡1 Ös× are Ôn ¡ 1Õ-believable at stage s, and so are equal. Let k be the least index such that τ 0 ℓ n k τ 1 ℓ n k . Of course k exists, since τ 0 τ 1 are both of length ℓ n ksÔnÕ , and ℓ n k ℓ n¡1 Ös×. In other words, ℓ n k is longer than any length tested at level n ¡ 1 at stage s. But then the strings τ 0 ℓ n k and τ 1 ℓ n k witness that there is a conflict at length ℓ n k at stage s, and so we would promote ℓ n k to be tested at level n ¡ 1 by the end stage s, contradicting the assumption that ℓ n k is not tested at level n ¡ 1 at stage s.
We can now define the computable approximation for A. We define a computable sequence of stages: the stage s o has been defined above; we may assume that s o o 1. For t o, given s t¡1 , we define s t to be the least stage s s t¡1 at which there is a t-believable string σ t . So s t¡1 t. We let A t σ tˆ0 ω . The fact that A ℓ n is n-believable at almost every stage (and that ℓ n n) implies that lim t A t A.
For t o, let x t be the least number x such that A t ÔxÕ A t¡1 ÔxÕ. It remains to show that t o c t Ôx t Õ is finite. For all n 0, let Then c t Ôx t Õ will follow from any polynomial bound on S n . Let n o, and let t È S n . Let s s t¡1 , and let s s t . Since t s and Üc s Ý is monotone, we have c s Ôx t Õ c t Ôx t Õ 2 ¡n . Since c s Ôl s ÔnÕÕ 2 ¡n (Lemma 2.1), and the function c s is monotone, we have x t l s ÔnÕ. So A t l s ÔnÕ A t¡1 l s ÔnÕ.
Suppose that t n. Then the strings σ t and σ t¡1 are at least as long as ℓ t¡1 Ös× which is not smaller than ℓ n Ös×, which in turn is not smaller than l s ÔnÕ, by the instruction for testing l s ÔnÕ at level n at stage s if it is a large number. So we actually have σ t ℓ n Ös× σ t¡1 ℓ n Ös×.
Let m n be the least such that σ t ℓ m Ös× σ t¡1 ℓ m Ös×; since both σ t and σ t¡1 extend ρ ¦ we have m o. Let k k s ÔnÕ be the least such that σ t ℓ m k σ t¡1 ℓ m k ; the minimality of m implies that ℓ m k ℓ m¡1 Ös×.
Let τ 0 σ t¡1 ℓ m k and τ 1 σ t ℓ m k . So τ 0 and τ 1 are distinct. Since σ t¡1 is Ôt ¡ 1Õ-believable at stage s, and m n t ¡ 1, the string τ 0 is successfully tested at level m by stage s, and similarly, τ 1 is successfully tested at level m by stage s. Thus there is a conflict at length ℓ m k at stage s, which implies that ℓ m¡1 Ös× ℓ m k . We observed that ℓ m k ℓ m¡1 Ös×, and so there is no conflict at level ℓ m k at stage s. This means that if t and u are two stages in S n , and u t n, then there is some m n and some length ℓ ℓ m k at which there is no conflict at stage s t¡1 but there is a conflict at stage s t s u¡1 . Lemma 2.2 states this can happen, for each m, at most m ¡ 1 times, and so overall, there are at most n 2¨m any stages greater than n in S n ; that is, S n n n 2¨. This gives a polynomial bound on S n and completes the proof.

A c.e. set computing a given set
In this section we give a proof of Theorem 1.13: we construct a benign cost function c such that for any ∆ 0 2 set A obeying c, there is a c.e. set W computing A which obeys all cost functions that A obeys.

A simplification.
Even though the cost function c works for any ∆ 0 2 set A, we may assume that we are given a particular computable approximation ÜA s Ý to a ∆ 0 2 set A which obeys c, and define c using the approximation. To see why this seemingly circular construction is in fact legal, we enumerate as A k s s ω k ω all partial sequences of uniformly computable functions; we think of A k s s ω as the k th potential computable approximation for a ∆ 0 2 set A k . For each k ω, we define a benign cost function c k , together with a monotone approximation c k s for c k and a computable function g k which together witness that c k is benign; all of these, uniformly in k. The important dictum is: even if A k s is not total, we must make c k s and g k total. We ensure that c k ÔxÕ 1 for all x and k.
Once these are constructed, we let c k ω 2 ¡k c k .
Lemma 3.1. c is a benign cost function.
Proof. For s ω let c s ÔxÕ k s 2 ¡k c k s ÔxÕ. Then Üc s Ý is a monotone approximation of c. For benignity, the point is that since c k 1, only finitely many c k can contribute more that ǫ to c. We note that for all k, if I is a set of disjoint intervals of ω such that for all Öx, sÕ È I we have c k s ÔxÕ ǫ, then I g k ÔǫÕ. Fix ǫ 0, and let m 1 ÔǫÕ, m 2 ÔǫÕ, ¤ ¤ ¤, m kÔǫÕ ÔǫÕ be the sequence of markers associated with Üc s Ý. It follows that for some k K we have c k s ÔxÕ ǫß4. Hence which is a computable bound on kÔǫÕ.
Suppose that a ∆ 0 2 set A obeys c. By Nies's result from [24], which is repeated as In the sequel, we omit the index k; we assume that we are given a partial sequence ÜA s Ý and construct total Üc s Ý and g with the desired property. Although we have to make Üc s Ý and g total and c s bounded by 1, regardless of the partiality of ÜA s Ý, we note that unless ÜA s Ý is total and is a computable approximation for a set A, and c s ÔA s Õ 2 k , then the construction of W need not be total. 3.2. More on cost functions. Given the approximation ÜA s Ý for A, we need to test whether A obeys a given cost function d, with a given approximation Üd s Ý. But of course it is possible that d s ÔA s Õ is infinite, while some other approximation for A witnesses that A obeys d. Any other approximation can be compared with the given approximation ÜA s Ý, and so it suffices to examine a speed-up of the given approximation. Further, it suffices to test cost functions bounded by 1. This is all ensured by the following proposition. A version of this proposition appears in [24], but as we give it in slightly different form, we give a full proof here for completeness. Let Üe s Ý be a monotone approximation of d and Ü Ô B s Ý be a computable approximation of B such that e s Ô Ô B s Õ is finite. We define increasing sequences Üt s Ý of stages and Üx s Ý of numbers (lengths) as follows. We let t ¡1 x ¡1 1. For s 0, given t s¡1 and x s¡1 , we search for a pair Ôt, xÕ such that t t s¡1 , x x s¡1 and For all y x s¡1 , 2e t ÔyÕ d t ÔyÕ. Such a pair Ôt, xÕ exists because lim e s lim d s , lim Ô B s lim B s , and lim x dÔxÕ 0 (the limit condition for d). We let Ôt s , x s Õ be the least such pair that we find. We note that for all s 0, s t s¡1 . We now let hÔsÕ t s 1 for all s 0.
We claim that which is finite. For let s 0, and let y s be the least number y such that B hÔsÕ ÔyÕ B hÔs¡1Õ ÔyÕ; so d s ÔB hÔsÕ Õ d s Ôy s Õ. There are two cases.
If y s x s¡1 , then d ts¡1 Ôy s Õ 2 ¡s , and by monotony, since t s¡1 s, we have d s Ôy s Õ 2 ¡s .
In the second case, we have y s x s , x s 1 , and so B hÔs¡1Õ Ôy s Õ B ts Ôy s Õ Ô B ts Ôy s Õ and B hÔsÕ Ôy ÔzÕ. Since s t s , we have d s Ôy s Õ d ts Ôy s Õ. Since y s x s¡1 , we have d ts Ôy s Õ 2e ts Ôy s Õ. Again by monotony, we have e ts Ôy s Õ e t Ôy s Õ. And since z y s , we have e t Ôy s Õ e t ÔzÕ. Overall, we get d s Ôy s Õ 2e t ÔzÕ, and e t ÔzÕ is a summand in e s Ô Ô B s Õ, which is counted only against s, as hÔs ¡1Õ t hÔsÕ.
To ensure that the set W obeys every cost function that A obeys, we need to monitor all possible cost functions. So we need to list them: we need to show that they are uniformly ∆ 0 2 , indeed with uniformly computable monotone approximations. This cannot be done effectively, because the limit condition cannot be determined in a ∆ 0 2 fashion. However, we will not need the limit condition during the construction, only during the verification, and so we list monotone cost functions which possibly fail the limit condition. Proof. The idea is delaying. In this proof we do not assume that cost functions satisfy the limit condition, but we do assume that they are total. We need to show that given a partial uniformly computable sequence Üd s Ý we can produce, uniformly, a total monotone approximation Ü Ô d s Ý of a cost function Ô d such that if Üd s Ý is a monotone approximation of a cost function d bounded by 1, then Ô d d. To do this, while keeping monotony, for every s ω we let tÔsÕ s be the greatest t s such that after calculating for s steps, we see d u ÔxÕ converge for all pairs Ôu, xÕ such that u t and x t, each value d u ÔxÕ is bounded by 1, and the array Üd u ÔxÕÝ u,x t is monotone (non-increasing in x and non-decreasing in u). We let Ô d s ÔxÕ d tÔsÕ ÔxÕ for all x tÔsÕ, and Ô d s ÔxÕ 0 for all x tÔsÕ.

3.3.
Discussion. Returning to our construction, recall that we are given a partial approximation ÜA s Ý and a constant k, and need to produce a (total) monotone approximation Üc s Ý of a cost function c and a computable function g witnessing that c is benign; and we need to ensure that if ÜA s Ý is a total approximation of a ∆ 0 2 set A and c s ÔA s Õ 2 k , then there is a c.e. set W computing A which obeys every cost function that B obeys. The main tool we use is that of a change set. For any computable approximation ÜB s Ý of a ∆ 0 2 set B, the associated change set W ÔÜB s ÝÕ consists of the pairs Ôx, nÕ such that there are at least n many stages s such that B s 1 ÔxÕ B s ÔxÕ. The obvious enumeration ÜW s Ý of W enumerates a pair Ôx, nÕ into W s if there are at least n many stages t s such that B t 1 ÔxÕ B t ÔxÕ. It is immediate that the change set is c.e. and computes B. It is also not hard to show that for any monotone approximation Üd s Ý for a cost function we have ô d s ÔW s Õ ô d s ÔB s Õ, and so if ÜB s Ý witnesses that B obeys d lim d s , then ÜW s Ý witnesses that W obeys d as well. Nies used this argument to show that every K-trivial set is computable from a c.e. K-trivial set.
Thus if A lim A s (if it exists) obeys some cost function d, we immediately get a c.e. set computing A which also obeys d. The difficulty arises when we consider more than one cost function. The point is that different cost functions obeyed by B would require faster enumerations of B, and the associated change sets may have distinct Turing degrees. In general, it is not the case that the change set for a given enumeration of a ∆ 0 2 set B would obey all cost functions obeyed by B. For an extreme example, it is not difficult to devise a computable approximation for the empty set for which the associated change set is Turing complete. The point is that a faster approximation of a ∆ 0 2 set may undo changes to some input BÔxÕ, whereas the change set for the original approximation must record the change to BÔxÕ (and also its undoing), and must pay costs associated with such recordings.
The idea of our construction is to let W be the change set of some speed-up of the approximation ÜA s Ý. We define an increasing partial computable function f . If ÜA s Ý is total, approximates A, and c s ÔA s Õ 2 k , then f will be total, and we will let W be the change set of the approximation A f ÔsÕ . Roughly, the role of f would be to ensure that not too may undone changes in some AÔxÕ would be recorded by W and associated costs paid. To be more precise, we discuss our requirements in detail.
Let d i i ω be a list of cost functions (possibly failing the limit condition) bounded by 1, as given by Lemma 3.3 (with associated approximations d i s ), and let h j j ω be an effective list of all partial computable functions whose domain is an initial segment of ω and which are strictly increasing on their domain. To save indices (we are into the whole brevity thing), we renumber the list of pairs It is important to note that our action at stage u 1 to assuage requirement S e does not require us to wait until we see v h e Ôt 1Õ; it allows us to keep defining c (and f ) even if h e is partial.
The catch is that we used the values of A u and A u 1 in order to define c u 1 .
Our commitment to make Üc s Ý total even if ÜA s Ý is not, means that our definition of Üc s Ý must be quicker than the unfolding of the values of ÜA s Ý. For s ω, let s be the greatest number below s such that A u ÔxÕ has converged by stage s for all u, x s. Usually, s will be much smaller than s. At stage s we need to define c s , but can read the values of ÜA u Ý only for u s. This is where the function f comes into play. The speed-up of the approximation of A that it allows us to define can be used to prevent unwanted elements from entering W , if A changes back. We return to the situation above, this time with f growing quickly, but still with r e h e . Suppose that n h e ÔtÕ and u f ÔnÕ, and s is a stage with s u 1. We see that A u 1 ÔzÕ A u ÔzÕ, and so at stage s we see that we would have liked to define c u 1 ÔzÕ d e t ÔzÕ. But s is much greater than u 1; at stage u 1, we were not aware of this situation, and so kept c u 1 ÔzÕ small. At stage s we would like to rectify the situation by defining s f Ôn 1Õ and c s ÔzÕ d e t ÔzÕ. Let v f Ôh e Ôt 1ÕÕ, which is presumably greater than s. We now have two possibilities: If A s ÔzÕ A u ÔzÕ, that is, AÔzÕ changed back from its value at stage u 1, then the change in AÔzÕ between stages u and u 1 need not be recorded in W . In this case, W pays no cost related to z, and so we do not need to charge anything to anyone.
Otherwise, the change in AÔzÕ from u to u 1 persists at stage s, and is recorded in W , which pays roughly d e d e t ÔA Ôf¥h e ÕÔtÕ Õ. If A v ÔzÕ A u ÔzÕ, then AÔzÕ must have changed at some stage after stage s, and so the cost can be charged to c s ÔA s Õ.
All is well, except that we did not consider yet another commitment of ours, which is to make c benign (and in fact, to make the bound g uniformly computable from the index k for the partial approximation ÜA s Ý). The idea is to again charge increases in c s ÔzÕ to either the sum c s ÔA s Õ or the sums d e t ÔA Ôf¥h e Õ ÔtÕÕ. That is, in the scenario above, before defining c s ÔzÕ d e t ÔzÕ, we would like to have evidence that A s ÔzÕ A u ÔzÕ, so the cost would actually be paid by one of the sums. To avoid this seeming circularity, we "drip feed" cost in tiny yet increasing steps. In the scenario above, at stage s 0 s, we would increase c s0 ÔzÕ by a little bit -not all the way up to d e t ÔzÕ -and wait for a stage s 1 s 0 at which we see what A s0 ÔzÕ is (that is, for a stage s 1 such that s 1 s 0 ). If A s0 ÔzÕ A u ÔzÕ then we can let f Ôn 1Õ s 0 . We increased c s0 ÔzÕ by something comparable to c u 1 ÔzÕ, and the change in AÔzÕ between stage u 1 and stage s shows that this amount was added to c s ÔA s Õ. If A s0 ÔzÕ A u ÔzÕ, then we increase c s1 ÔzÕ again (we can double it), but again not necessarily all the way up to d e t ÔzÕ, and repeat, while delaying the definition of f Ôn 1Õ. Also, since there are infinitely many requirements S e , we have to scale our target, so that only finitely many such requirements affect the ǫ-increases in Üc s Ý; that is, instead of a target of d e t ÔzÕ, we look for cÔzÕ to reach 2 ¡Ôe 1Õ d e t . The last ingredient in the proof is the function r e -we have not yet explained why we need r e to provide an even faster speed-up of ÜA s Ý, compared with Now the point is that as slow as the definition of f is, the function h e shows its values even more slowly. After all, even if ÜA s Ý and f are total, many functions h e are not. In the scenario above, there may be several stages added to the range of f before we see that h e ÔtÕ n. This means that in trying to define f Ôn 1Õ, as above, we may suddenly see more requirements S e worry about more inputs z, as more stages enter the range of f ¥ h e . The argument regarding the scenario above breaks down if the stage v f Ôh e Ôt 1ÕÕ is not greater than the stage s.
We use the function r e to mitigate this problem. To keep our accounting straight, we need to make the range of r e contained in the range of h e (otherwise we might introduce more changes which we will not be able to charge to the sum d e t ÔA Ôf¥h e ÕÔtÕ Õ). In our scenario above, we now assume that n r e ÔtÕ is in the range of r e . The key now is that by delaying the definition of r e ÔtÕ, we may assume that AÔzÕ does not change between stage u f ÔnÕ and the last stage currently in the range of f ; we use here the assumption that ÜA s Ý indeed converges to A. And so the strategy above can work, because even though we declared new values of f beyond u, at the time we declare that n È range r e , we see that these new values would not spoil the application of our basic strategy.

3.4.
Construction. Let ÜA s Ý be a uniformly computable sequence of partial functions, and let k be a constant. As mentioned above, for all s ω, we let s be the greatest number below s such that for all x and u bounded by s, A u ÔxÕ converges at stage s.
We define a uniformly computable sequence Üc s Ý. We start with c 0 ÔzÕ 2 ¡z for all z ω. At every stage s, we measure our approximation for c s ÔA s Õ; this, of course, would be the sum of the costs c u Ôx u Õ, where u, x u s and x u is the least x s such that A u Ôx u Õ A u¡1 Ôx u Õ. If at stage s our current approximation for this sum exceeds 2 k , we halt the construction, and let c c s .
Otherwise, we let Ô s be the greatest stage before stage s such that c Ô s c Ô s¡1 . So c s c Ô s . Stage Ô s ¡ 1 is the last stage before s at which we took some action toward assuaging the fears of various requirements S e , which is a step toward defining a new value of f . By the beginning of stage s 0, the function f is defined (and increasing) on inputs 0, 1, . . . , m s ; we start with f Ô0Õ 0. We will ensure that f Ôm s Õ s.
For all e ω, we define a function r e . To begin with, r e is defined nowhere.
Once we see that h e Ô0Õ , say at stage s e , we define r e Ô0Õ h e Ô0Õ.  (1) either A ui Ôz i Õ A f Ôr e i ÔtiÕÕ Ôz i Õ, whereas we had A si Ôz i Õ A f Ôr e i ÔtiÕÕ Ôz i Õ; or (2) case (1) fails, and c ui Ôz i Õ δ ei d ei ti Ôz i Õ, whereas we had c si Ôz i Õ δ ei d ei ti Ôz i Õ. Let I be the set of stages s i (where i È Ø2, . . . , kÔǫÕ ¡1Ù) for which case (1) as is calculated at stage max JÔeÕ. Since the requirement S e is still active at that stage, this sum is bounded by 1. We have d e ti Ôz i Õ ǫßÔ2δ e Õ ǫ (Equation (3.1), using c si Ôz i Õ δ e d e ti Ôz i Õ). So the number of such t is bounded by 2 N .
In the second case, there is a stage w È Ôu i , v× such that A w Ôz i Õ A w¡1 Ôz i Õ. Because u i s i , we have c v Ôz i Õ c si 1 Ôz i Õ ǫ, so an amount of at least ǫ is added to the sum c s ÔA s Õ as calculated at stage s kÔǫÕ , which as described above, is bounded by 2 k . The contribution of stages s i in distinct JÔe, tÕ is counted disjointly, because if s j È JÔe, t ½ Õ for t ½ t then as t ½ t e sj we have s j v, so w È Ôs i , s j Õ. So the number of such t is bounded by 2 k N .
Overall, the number of t such that JÔe, tÕ is nonempty is bounded by 1 2 N 2 k N as required.
We now assume that the sequence ÜA s Ý is total and converges to a limit A, and that c s ÔA s Õ 2 k . The construction is never halted.
Lemma 3.6. The function f is total.
Proof. Suppose, for contradiction, that f is not total; at some stage s ¦ we define the last value m ¦ m s ¦ 1 on which f is defined, and for all s s ¦ we have m s m ¦ . No function r e is extended after stage s ¦ , so for all e ω, the value t e s for all s s ¦ is fixed.
Because ÜA s Ý is total, the function s s is unbounded. So there are infinitely many stages s s ¦ for which s Ô s; let T be the collection of these stages. By assumption, at each stage s È T there is some number z m ¦ about which some requirement S e (for e m ¦ ) worries at that stage. For e m ¦ and z m ¦ , let T Ôe, zÕ be the collection of stages s È T at which S e worries about z. There are some e m ¦ and z m ¦ such that T Ôe, zÕ is infinite.
Let t t e s for s È T . At each stage s È T Ôe, zÕ we have c s ÔzÕ δ e d e t ÔzÕ. At stage s we define c s 1 ÔzÕ 2c s ÔyÕ for some y z, and c s ÔyÕ c s ÔzÕ. We note that c s ÔzÕ 0 because c 0 ÔzÕ 2 ¡z . This quickly (i.e. in z steps) leads to a contradiction.
We let W be the change set of A f ÔnÕ . Then W computes A. It remains to show that every requirement S e is met. Fix e ω. Suppose that h e is total, and that d e t ÔA Ôf¥h e ÕÔtÕ Õ 1. Proof. Suppose, for contradiction, that r e is not total; a final value t ¦ is added to dom r e at some stage s 0 , so t e s t ¦ for all s s 0 . We note that S e is active at every stage.
Let s 1 s 0 be a stage such that for all s s 1 , A s t ¦ 1 A t ¦ 1. Let k ω such that f Ôh e ÔkÕÕ s 1 . By Lemma 3.6, there is some stage s s 1 such that m s 1 m s and m s h e ÔkÕ. Then at stage s we are instructed to define r e Ôt ¦ 1Õ, a contradiction.
The following lemma concludes the proof of Theorem 1.13.
Lemma 3.8. The sum d e t ÔW Ôf¥r e ÕÔtÕ Õ is finite.
Proof. Let s ¦ be the stage at which t e s is first defined, that is, the stage at which we define r e Ô0Õ. For t s ¦ , let y t be the least number such that W f Ôr e ÔtÕÕ Ôy t Õ W f Ôr e Ôt¡1ÕÕ Ôy t Õ. We need to show that t s ¦ d e t Ôy t Õ is finite.
Let t s ¦ . We may assume that y t t, for otherwise d e t Ôy t Õ 0. Let y t Ôz t , kÕ for some k ω. So z t y t (using the standard pairing function), and A f ÔnÕ Ôz t Õ A f Ôn¡1Õ Ôz t Õ for some n È Ôr e Ôt ¡ 1Õ, r e ÔtÕ×. Taking the least such n, we have A f Ôn¡1Õ Ôz t Õ A f Ôr e Ôt¡1ÕÕ Ôz t Õ and so A f ÔnÕ Ôz t Õ A f Ôr e Ôt¡1ÕÕ Ôz t Õ.
Now there are two possibilities: either A f ÔnÕ Ôz t Õ A f Ôr e ÔtÕÕ Ôz t Õ, or not.
In the first case, we have A f Ôr e ÔtÕÕ Ôz t Õ A f Ôr e Ôt¡1ÕÕ Ôz t Õ. Since both r e Ôt ¡ 1Õ and r e ÔtÕ belong to the range of h e , and r e ÔxÕ h e ÔxÕ for all x, we see that there is some x t such that A f Ôh e ÔxÕÕ Ôz t Õ A f Ôh e Ôx¡1ÕÕ Ôz t Õ. This means that an amount of at least d e x Ôz t Õ d e t Ôz t Õ is added to the sum d e t ÔA Ôf¥h e ÕÔtÕ Õ, at a stage x such that h e ÔxÕ È Ôr e Ôt ¡ 1Õ, r e ÔtÕ×. Thus the charges for distinct such stages t