Bounded-error promise computation at a prescribed time #
PromiseBPTIME enc T fixes a native fair-coin machine and an affine clock c₁ * T n + c₂
before the input. Every run halts within that clock, including off-promise runs. On yes-instances
the output is [true] with probability at least 2/3, and on no-instances it is [false] with
probability at least 2/3. No probability gap or answer is required outside the promise.
This is the library's time-indexed native-machine convention, extending BPTIME to partial
promises: a decision problem is in PromiseBPTIME exactly when it is in BPTIME. It does not
define the class through bounded-error total completions. A strict-majority completion belongs to
PPTIME at the same caller-supplied clock, with ties rejecting; this is not a bounded-error
completion in BPTIME.
The characterization by sample-and-verify and coin replay at the same clock, up to constant
factors, is in CslibFrontier.Computability.Complexity.Classes.Promise.Time.Verifier.
Main definitions #
Turing.MultiTapePTM.SolvesPromiseWithBoundedErrorInTime: native clock and error contract.Cslib.Complexity.PromiseBPTIME: bounded-error promise computation in affine time.
Main results #
Turing.MultiTapePTM.solvesPromiseWithBoundedErrorInTime_ofSet_iff,ofSet_mem_PromiseBPTIME: on decision problems, the notions areTuring.MultiTapePTM.DecidesWithBoundedErrorInTimeandBPTIME.PromiseBPTIME_mono: increasing the time bound preserves membership.mem_PromiseBPTIME_of_subset: shrinking either side of the promise preserves membership.promiseClass_BPTIME_subset_PromiseBPTIME: total bounded-error completions give witnesses.PromiseBPTIME_subset_promiseClass_PPTIME: a strict-majority completion at the same time scale.
Every run halts by t; bounded error is required only on the two sides of the promise.
Instances For
A sufficiently long clock may be enlarged without changing the output law.
A machine solving a promise problem solves every promise problem with fewer yes-instances and fewer no-instances.
On a decision problem, solving with bounded error is deciding with bounded error.
Native bounded-error promise problems with fixed machine parameters and affine time T.
All encoded inputs terminate, but the error conditions only constrain promised inputs.
Instances For
Membership is monotone in the caller's time bound.
A promise problem with fewer yes-instances and fewer no-instances than one in PromiseBPTIME
is in PromiseBPTIME.
A decision problem, as a promise problem, is in PromiseBPTIME exactly when it is in
BPTIME.
A bounded-error total completion supplies a native bounded-error promise solver.
Accepting by strict majority completes the promise in PPTIME without changing its clock.
The completion may have an exact tie outside the promise; it need not belong to BPTIME.