The running time of the repeated decider #
repDecider_timeBound: when the input sampler and decider run within R.S (|d| + 1)^{R.k}
and R.D (|d| + 1)^{R.k} at index n, the repeated decider on (λ, τ, β) runs within
c (W + 1)^m (|d| + 1)^{e (R.k + 1)} for constants c, m, e independent of everything and
W any number dominating the parameters (DecDom). The cost is the explicit one of
prepProg_runs and coordLoop_runs_bounded, dominated piece by piece as in
SamplerCost.lean; the one point of care is that the sanitized inputs of the loop are no larger
than the raw ones (size_encode_bitsOf_le, size_parse_bitsOf_le), so that the input decider
is called on data of size below |d| and its bound needs no factor c^{R.k}.
Sizes of the sanitized inputs #
Sanitizing a datum into a bit string does not increase its size.
Every query of the loop has the shape (D̄, (n, xᵢ, yᵢ, aᵢ, bᵢ)) with each component no
larger than the list it is cut from.
Domination of the primitives' costs #
The cost of the preparation, prepCost, dominated.
The calls of the loop #
The calls of the coordinate loop to the input decider, through the universal machine,
within a uniform bound: M bounds the size of the data each is called on.
The running time #
The hypotheses on the dominating number W.
Instances For
On a malformed input (fewer than three components), the repeated decider rejects at once.
On a well-formed input (x, y, a, b) (any four data), the repeated decider halts within
a dominated time.
The running time of the repeated decider: constants c, m, e uniform in everything
such that, whenever W dominates the parameters at n and the input sampler and decider run
within R.S (|d| + 1)^{R.k} and R.D (|d| + 1)^{R.k} there, the repeated decider runs within
c (W + 1)^m (|d| + 1)^{e (R.k + 1)}.