Logarithmic-gap MINKT -- definitions #
This is the exact machine-relative form of Hirahara's Gap_tau MINKT promise
from Definition 3.3 of Symmetry of Information from Meta-Complexity (CCC
2022). It reuses the canonical (x, 1^t, 1^s) codec from GapMINKT, but fixes
the promised sides to
- yes:
C^t(x) <= s; - no:
C^tau(x) > s + log_2(tau).
The existing general GapMINKT.Parameters remains useful for optimization
search with an arbitrary description transformation sigma(n,s). This module
is separate because the paper's exact logarithmic loss depends on the source
clock through tau(n,t).
The transformed clock never gives less time than the source clock.
Equations
- parameters.IsWidening = ∀ (outputLength time : ℕ), time ≤ parameters.clock outputLength time
Instances For
One power of the total numeric input controls the clock transformation.
Equations
Instances For
A paper-level clock is admissible when it is widening and polynomially bounded. Computability remains a separate implementation property.
- widening : parameters.IsWidening
The target clock dominates the source clock.
- polynomiallyBounded : parameters.IsPolynomiallyBounded
The target clock has uniform polynomial growth.
Instances For
The identity transformation, giving the zero-blow-up boundary case.
Equations
- Complexity.GapMINKT.Logarithmic.Parameters.identity = { clock := fun (_outputLength time : ℕ) => time }
Instances For
Apply the clock transformation to a threshold-free MINKT instance.
Instances For
Base-two logarithmic slack at the transformed clock.
Equations
- parameters.logarithmicSlack inst = Nat.log 2 (parameters.transformedTime inst)
Instances For
A threshold-free numerical estimator for ordinary bounded complexity.
Instances For
Fact 3.4's subtraction-free estimator sandwich:
B(x,1^t) <= C^t(x) and C^tau(x) <= B(x,1^t) + log_2(tau).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The estimator sandwich restricted to an explicit set of inputs.
Hirahara's Fact 3.4 uses the domain |x| <= t. Keeping the domain explicit
lets the machine-relative library state that version without pretending that
an arbitrary machine can print every output at every tiny clock.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The input domain |x| <= t used in Fact 3.4.
Instances For
Exact logarithmic no condition
C^tau(x) > s + log_2(tau).
Equations
- One or more equations did not get rendered due to their size.
Instances For
A concrete program forbidden by the exact logarithmic no condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The yes language is exactly the existing source-threshold language.
Equations
Instances For
Canonically encoded exact logarithmic no language.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Total completion obtained by thresholding a numerical estimator.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add a description threshold to a threshold-free MINKT instance.
Equations
Instances For
Search the finite interval [0,cap] for the first threshold accepted by a
Boolean promise solver. If the solver accepts none of them, return cap.
The fallback makes the operation total. Correctness theorems use an accepted upper bound, so the fallback branch is then unreachable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Turn a gap solver into a numerical estimator by bounded threshold search.
Equations
- Complexity.GapMINKT.Logarithmic.estimatorOfSolver decide cap inst = Complexity.GapMINKT.Logarithmic.firstAcceptedThreshold decide inst (cap inst)
Instances For
The canonical Fact 3.4 search uses the unary source clock as its threshold cap. Every finite source complexity is at most this value by input locality.
Equations
- Complexity.GapMINKT.Logarithmic.timeSearchEstimator decide = Complexity.GapMINKT.Logarithmic.estimatorOfSolver decide fun (inst : Complexity.MINKT.Instance) => inst.time