The running time of the wrapper, at one index #
Prog.wrapCore_cost' (Halting/WrapperCost.lean) bounds the wrapper of
Verifier.ofSamplerDecider explicitly, but asks for the sampler's time bound at every index,
while λ-boundedness — of a normal form verifier, or of a tailored one — supplies it only for
n ≥ 2. The wrapper calls the sampler at one index only, the index n of its own input (the
dimension query (n, dimension) of Prog.wrapHead), so the bound at that index is all the
proof uses. This file restates the three stages with the hypothesis at n alone:
wrapHead_cost_at,wrapPre_cost_at,wrapCore_cost_at:wrapHead_cost',wrapPre_cost',wrapCore_cost'for a sampler withS.TimeBoundAt n Cs kf, at the constant cost functionfun _ => Cs— so the bound is the samewrapCoreCost, and the existing accounting applies unchanged;esize_wrapCore: the wrapper's description is that of the sampler program plus that of the decider datum plus a constant depending on the universal machine alone.
The head, at one index: wrapHead_cost' from the sampler's time bound at the index of
the input only.
The prefix, at one index: wrapPre_cost' from the sampler's time bound at the index of
the input only.
The wrapper halts within the explicit wrapCoreCost on every input of index n, from
the sampler's time bound at n alone and a bound Td |d| on the string's decider at n.
The wrapper's description: that of the sampler program, plus that of the decider datum, plus a constant depending on the universal machine alone.