Stage-bounded oracle evaluation #
TauCeti.Oracle.Single.Code.evalStage normalizes raw bounded evaluation to the stage convention
of Soare, III.1.7: a successful computation at stage s has program index, input and output
strictly below s, and use at most s. Stage zero has no successful computations.
Raw fuel and normalized stages are different: an oracle can return an arbitrarily large number even at small fuel. Normalization delays such a result until the output and program index fit inside the stage bound. It does not alter the output or use. Every successful raw run appears at an explicitly bounded later stage, and successful stage computations persist with the same use when the oracle is fixed. Agreement below the recorded use also permits changing the oracle.
The primitive-recursive certificates include both finite strings (unanswered beyond their length) and binary-coded finite sets (answering zero outside the set). This supplies effective finite stage observations for constructions using oracle computations and restraints.
References #
- R. I. Soare, Recursively Enumerable Sets and Degrees, Springer, 1987, III.1.7–9.
Oracle evaluation at stage s: raw evaluation with fuel s, retaining only computations whose
program index and output are below s. Raw evaluation already bounds the input and the use.
Failure is none, distinct from a successful computation with use zero.
Instances For
Programs whose indices are at least the stage have no successful stage computations. This bounds the program indices that a finite-priority search needs to inspect.
Stage-to-stage use principle: agreement below the recorded use and an increased stage bound preserve both output and use. No persistence is asserted for arbitrary moving oracles.
Every successful raw run is eventually retained at all normalized stages. The output and recorded use are those of the original run, not merely some run with the same output.
A successful normalized computation is sound for every partial oracle containing the supplied answers below its use.
Completeness at normalized stages: if all values of an oracle are supplied, every output appears at all sufficiently large stages, with one fixed recorded use.
Stage evaluation is primitive recursive uniformly in any primitive-recursive family of finite oracle answers. The normalization tests require no unbounded search.
Normalized evaluation on binary-coded finite sets, answering zero outside the set, is primitive recursive in the code, the stage, the program and the input.