Documentation

Complexitylib.Metacomplexity.MINKT.Gap.Logarithmic.Efficient

Efficient threshold search for logarithmic-gap MINKT #

This module proves the algorithmic reverse direction of Hirahara's Fact 3.4. If the one-bit characteristic string of a logarithmic-gap solver is in FP, an explicit t+1-step unary sweep computes the corresponding numerical estimator in FP. On canonical (x,1^t) inputs its output length is exactly the semantic least-accepted-threshold estimator.

The explicit unary threshold sweep preserves polynomial-time computability.

@[simp]

On canonical MINKT inputs, the threshold sweep returns the semantic least-accepted threshold in exact unary form.

On canonical MINKT inputs, the unary sweep output has exactly the semantic least-accepted threshold as its length.

The estimator represented by the executable unary sweep is extensionally the semantic time-capped search estimator.

theorem Complexity.GapMINKT.Logarithmic.Efficient.executableEstimator_satisfiesBoundsAt {tapes : ℕ} {machine : TM tapes} {parameters : Parameters} (hwidening : parameters.IsWidening) {decide : List Bool → Bool} (hsolve : (problem machine parameters hwidening).SolvedBy decide) (inst : MINKT.Instance) (hfinite : machine.timeBoundedKolmogorovComplexity inst.output inst.time ≠ ⊤) :
↑(executableEstimator decide inst) ≤ machine.timeBoundedKolmogorovComplexity inst.output inst.time ∧ machine.timeBoundedKolmogorovComplexity inst.output (parameters.transformedTime inst) ≤ ↑(executableEstimator decide inst + parameters.logarithmicSlack inst)

The numerical estimator represented by the threshold sweep satisfies the Fact 3.4 sandwich at every finite source instance.

theorem Complexity.GapMINKT.Logarithmic.Efficient.executableEstimator_satisfiesBoundsOn {tapes : ℕ} {machine : TM tapes} {parameters : Parameters} (hwidening : parameters.IsWidening) {decide : List Bool → Bool} {eligible : MINKT.Instance → Prop} (hsolve : (problem machine parameters hwidening).SolvedBy decide) (hfinite : ∀ (inst : MINKT.Instance), eligible inst → machine.timeBoundedKolmogorovComplexity inst.output inst.time ≠ ⊤) :
(executableEstimator decide).SatisfiesBoundsOn machine parameters eligible

The executable estimator satisfies Fact 3.4 on any explicit domain where the source-clock complexity is finite.

theorem Complexity.GapMINKT.Logarithmic.Efficient.fp_and_satisfiesBoundsOn_lengthWithinTime {tapes : ℕ} {machine : TM tapes} {parameters : Parameters} (hwidening : parameters.IsWidening) {decide : List Bool → Bool} (hdecide : (fun (bits : List Bool) => [decide bits]) ∈ FP) (hsolve : (problem machine parameters hwidening).SolvedBy decide) (hfinite : ∀ (inst : MINKT.Instance), IsLengthWithinTime inst → machine.timeBoundedKolmogorovComplexity inst.output inst.time ≠ ⊤) :

Algorithmic reverse Fact 3.4 on the paper's exact |x| <= t domain.

The first conjunct is the concrete FP unary estimator implementation; the second is its numerical sandwich on every eligible input.

theorem Complexity.GapMINKT.Logarithmic.Efficient.fp_and_satisfiesBoundsOn_printerClock {tapes : ℕ} {machine : TM tapes} (huniversal : machine.IsEfficientlyUniversal) :
∃ (coefficient : ℕ) (exponent : ℕ), ∀ {parameters : Parameters} (hwidening : parameters.IsWidening) {decide : List Bool → Bool}, (fun (bits : List Bool) => [decide bits]) ∈ FP → (problem machine parameters hwidening).SolvedBy decide → encodedTimeSearchEstimator decide ∈ FP ∧ (executableEstimator decide).SatisfiesBoundsOn machine parameters fun (inst : MINKT.Instance) => coefficient * (2 * inst.output.length + 3) ^ exponent ≤ inst.time

Generic efficient universality discharges source finiteness on a uniform polynomial printer-clock domain. The returned coefficients depend only on the universal machine: they are chosen before the clock parameters and the solver, and for every widening clock and every FP solver of logarithmic GapMINKT, every eligible (x,1^t) with the printer clock below t receives both the executable FP estimator and the Fact 3.4 sandwich.

theorem Complexity.GapMINKT.Logarithmic.Efficient.executableEstimator_satisfiesBounds {tapes : ℕ} {machine : TM tapes} {parameters : Parameters} (hwidening : parameters.IsWidening) {decide : List Bool → Bool} (hsolve : (problem machine parameters hwidening).SolvedBy decide) (hfinite : ∀ (inst : MINKT.Instance), machine.timeBoundedKolmogorovComplexity inst.output inst.time ≠ ⊤) :
(executableEstimator decide).SatisfiesBounds machine parameters

Under global source finiteness, the executable estimator satisfies the global Fact 3.4 sandwich.