We show that if and , then , where ⋆ and ◇ are the following operations in the Weihrauch lattice: ⋆ is the compositional product, which allows the use of two principles in sequence, while the diamond operator ◇ allows an arbitrary but finite number of uses of the given principle in sequence. This answers a question of Pauly.
Informally, let F be a problem such as “given a continuous function on , find an input where it obtains its maximum value”. Although this problem is well-posed, in general there is no constructive method for solving it. However, if we add a single-use oracle access to a solver for the problem G: “given an infinite binary tree, find a path through it”, F becomes constructively solvable. Formally, one may define the notion of Weihrauch reducibility to express this relationship: we write and say that F is Weihrauch reducible to G. In what follows we assume familiarity with the Weihrauch lattice; for definitions and references, see the recent survey [2].
Sometimes a problem F becomes solvable if we allow single-use oracle access to solvers for multiple problems G and H, or if we allow the oracle multiple uses of G. In this case we distinguish between the different ways that the oracle can be used. The compositional product, roughly speaking, takes two problems G and H and returns the problem : “use G and then H”. The diamond operator, roughly speaking, takes a problem F and returns the problem : “use F an arbitrary but finite number of times”. The formal definitions are given below. A natural question was asked by Pauly [1]: suppose that given a single-use oracle access to F, we can solve . Does it follow that a single-use oracle access to F is enough to solve ? We show that it is.
Suppose F is a Weihrauch problem withand. Then.
It follows that for any F with , is the least Weihrauch degree above F that is closed under ⋆.
If F and G are Weihrauch problems with, and if, then.
The technical condition in Theorem 1 removes a trivial counterexample by ensuring that F has a computable instance. If F does not have a computable instance, then we cannot have because has computable instances (the input can request to use F zero times), while a formal requirement of the definition is that the oracle is used exactly once, requiring an input to F to be produced.
The diamond operator was first introduced by Neumann and Pauly [5] for the purpose of comparing the complexity of the Blum–Shub–Smale (BSS) computation model and the Type-2-Effectivity (TTE) model. In the BSS model, a computation has access to an arbitrary finite number of uses of the relations < and = on real numbers, which is equivalent to access to .
As Neumann and Pauly note in their paper, the diamond operator was also essentially defined by Hirschfeldt and Jockusch [4] using a game characterization. They define a relation to mean that whenever G holds in an ω-model of second order arithmetic, so does F. Given any pair of principles , they define a two-player game such that Player II has a winning strategy if and only if . Briefly, the game is as follows: Player I plays an instance of F; Player II may either play a solution (in which case she wins), or an instance of G such that . Then Player I must play a solution to . Player II may now either play a solution to with (and win), or a new instance of G with . The game continues in a similar fashion, with Player I winning if Player II never produces a solution to . Although is characterized by this game, the strategies are not required to be effective. So Hirschfeldt and Jockusch also define a relation , or “F is generalized Weihrauch reducible to G” to mean that and furthermore Player II has a computable winning strategy in the game. As noted by Pauly [1], it is a matter of definition-chasing to see that for all problems F and G, we have if and only if .
Now we give the definitions. Let Φ be a universal functional.
If are Weihrauch problems then the compositional product is the problem whose domain is
and whose output is a pair such that and .
The compositional product was first defined in [3], and more details about it can be found there. The most accessible definition is found in [2], where is defined as . In that definition is the problem which, on input , outputs ; thus, this problem interprets the output of as a pair.
Our definition may appear to differ slightly from the one given in [2]. To see that the two definitions lie in the same Weihrauch degree, first see that if we are given , we may let e be the functional defined by letting be the second component of . Then given with and , we may compute w as the first component of , and then check that . On the other hand, if we are given input , we may define p to be the functional which on input y, outputs . Then if , we have and as needed.
Now we define the diamond operator. Let be a universal functional with a space for a Weihrauch problem plug-in: given a Weihrauch problem F and any as input, in addition to its usual algorithmic operations involving d the functional may at any time ask for an answer to , where t is the contents of all the tapes at the time of the question. A new tape is created which contains an answer (assuming that is total and in the domain of F; failure of either of these conditions results in an infinite loop). If the functional halts, its output is considered to be , where t is the contents of all the tapes. If fails to be total, then the computation is said to have no output. We let denote a run of this process using Weihrauch problem F and starting with input . Here we think of d as describing both what -program to run and any input data. The domain of is the set of all for which this functional always halts, no matter what answers to the F-questions are supplied.
If F is a Weihrauch problem then is the problem whose domain is
and whose output is the output of .
In the definition of ⋆, Φ was specified as a universal functional, but we did not get into any technical details about how Φ expects its inputs, or what it would do if given multiple tapes as input. Let us be more specific because it also allows us to specify a technical detail of Φ’s implementation that will come in very handy later. We declare that Φ’s single-tape mode of operation is as follows: it expects an input of the form , where and there are finitely many . It parses the data, finds the number n, interprets this number as a program description, and then applies that program to the rest of the data . If we apply Φ in a multi-tape situation, with finitely many tapes occupied with data , we declare the result to be the same as applying the single-tape version of Φ to the input . The reason for wanting to distinguish a particular number as the program number will be made clear below as we will designate that number using the recursion theorem. Going forward, we write instead of the more cumbersome .1
Yes, Φ diverges if given an infinite regress of pairings as input, but this situation will not arise.
When comparing ⋆ and ◇, it is tempting to hope that any problem reducible to is actually reducible to for some finite number of applications of ⋆. If this were true, Theorem 1 would immediately follow. Failing that, one might hope that at least for any fixed instance d of , there might be a bound on the number of calls to F in . However, the following example due to Pauly and Yoshimura [1] shows that this need not be. Let be a sequence of elements of such that for all i, . Define F by and . Let be the problem of producing given any element of . Then although , there is no bound on the number of uses of F that may be required, even for the fixed input .
A key observation in the proof of Theorem 1 is that the recursion theorem relativizes. That is, the usual proof of the recursion theorem also proves this:
(Relativized recursion theorem).
For any computable function f, there is a number n such that for all oracles X,.
Finally we prove the theorem.
Since , let Δ and Γ be functionals such that for all , and for all , , where and .
Recall our assumption that Φ looks at the first bit of the innermost real of its input to determine what program to run. By the recursion theorem, let be a fixed point such that for all oracles , the computation
does the following:
Starts simulating without a Weihrauch problem plugged in.
Upon the ith oracle request, (up to k requests), is made available to the simulation.
If the simulation halts after k or fewer requests, output a fixed computable element of .
If the simulation makes a st request, halt and return
where is the contents of the simulated tapes at the time of the st request.
To be explicit about computational inputs and outputs, let us give the name Ψ to a fixed functional such that if the above computation gets to stage 4 on input , then above. If the computation does not get to stage 4, diverges.
Now we describe how to reduce to F. Given , we ask F for an answer to . To guarantee that this question is in the domain of F, we verify a superficially stronger (but also necessary) property.
Suppose thatare such thatfor all. Thenis total and in the domain of F.
Consider the set of all such that the hypotheses of the claim are satisfied. This set is a tree when ordered by extension (with possibly continuum-sized branching). Its members represent all possible ways that F could supply its information to the computation . Since , it is guaranteed that no matter how F supplies its answers, the computation only asks finitely many questions, and then halts. Therefore, this tree is well-founded. We prove the claim by induction on the well-founded rank of the tree. If is a leaf, the computation terminates without asking any more questions to F. In this case, halts in step (3) above and returns an element of . If is not a leaf, the question is asked, and halts in step (4). We claim the value it gives is in . First, the hypothesis on guarantees we are on a correct computation path, so , and for any , by induction we know that . It follows that , and so applying Δ, we see . This proves the claim.
When , the claim implies that . Let be the answer given. We now compute as follows. Begin to simulate . If it ever halts, output what it outputs. If it asks a first question , then halted in case (4) and returned . By the Claim, is a valid input to , so since , we know that yields a pair such that and . Continue the simulation using as the simulated answer of F. In general, we maintain that and that . Then if there is a st question , we run to obtain which answers the question and which maintains the condition. Eventually the simulation must stop asking questions and halt with a correct simulated output. □
Footnotes
Acknowledgements
This work was done while the author was in attendance at Dagstuhl Seminar 18361, “Measuring the Complexity of Computational Content: From Combinatorial Problems to Analysis.” The author was also supported by the Cada R. and Susan Wynn Grove Early Career Professorship in Mathematics, and partially supported by NSF grant DMS-1854107. We thank Arno Pauly for many useful and clarifying discussions. We also thank the anonymous referees, who provided additional context including Corollary 2, and uncovered some minor bugs.
References
1.
V.Brattka, D.D.Dzhafarov, A.Marcone and A.Pauly, Measuring the complexity of computational content: From combinatorial problems to analysis (Dagstuhl Seminar 18361), Dagstuhl Reports8(9) (2019), 1–28, http://drops.dagstuhl.de/opus/volltexte/2019/10327. doi:10.4230/DagRep.8.9.1.
2.
V.Brattka, G.Gherardi and A.Pauly, Weihrauch Complexity in Computable Analysis, available at: arXiv:1707.03202.
3.
V.Brattka and A.Pauly, On the algebraic structure of Weihrauch degrees, Log. Methods Comput. Sci.14(4) (2018), 4.
4.
D.R.Hirschfeldt and C.G.Jockusch Jr., On notions of computability-theoretic reduction between principles, J. Math. Log.16(1) (2016), 1650002. doi:10.1142/S0219061316500021.
5.
E.Neumann and A.Pauly, A topological view on algebraic computation models, J. Complexity44 (2018), 1–22. doi:10.1016/j.jco.2017.08.003.