Gap conditional MinKT -- definitions #
This is the machine-relative form of Hirahara's Gap_tau MINcKT promise from
Definition 6.1 of Symmetry of Information from Meta-Complexity (CCC 2022).
For an instance (x, y, 1^t, 1^s), write
t' = tau(|x|, |y|, t). The promised sides are
- yes:
C_cond^t(x | y) + cd^(t,t')(y) <= s; - no:
C_cond^t'(x | y) > s + log_2(t').
The sum on the yes side is the natural-number-safe form of the paper's
C_cond^t(x | y) <= s - cd^(t,t')(y): if the depth exceeds s, the yes
condition is false rather than relying on truncated subtraction.
The ordinary machine used for depth and the oracle machine used for conditional complexity are explicit and may differ. Relating them to one paper-specific universal evaluator is a later simulation theorem.
The transformed clock never gives less time than the source clock. This is the semantic condition needed to make the two promise sides disjoint.
Equations
- parameters.IsWidening = ∀ (outputLength conditionLength time : ℕ), time ≤ parameters.clock outputLength conditionLength time
Instances For
One power of the total numeric input controls the clock transformation.
This records the polynomial-growth part of the paper's quantification over
tau; computability of the transform is a separate implementation property.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An admissible paper-level clock is widening and polynomially bounded.
- widening : parameters.IsWidening
The transformed clock dominates the source clock.
- polynomiallyBounded : parameters.IsPolynomiallyBounded
The transformed clock has uniform polynomial growth.
Instances For
The identity clock, useful as the zero-depth boundary case.
Equations
- Complexity.GapMINCKT.Parameters.identity = { clock := fun (_outputLength _conditionLength time : ℕ) => time }
Instances For
Apply the clock transformation to one threshold-free conditional MinKT instance.
Equations
Instances For
Base-two logarithmic error attached to the transformed clock.
Equations
- parameters.logarithmicSlack inst = Nat.log 2 (parameters.transformedTime inst)
Instances For
A threshold-free numerical estimator for conditional bounded complexity.
Equations
Instances For
The two-sided estimator sandwich used in Proposition 6.2:
B(x,y,1^t) <= C^t(x|y) + cd^(t,tau)(y) and
C^tau(x|y) <= B(x,y,1^t) + log_2(tau).
Both inequalities use WithTop so a claimed estimator also certifies the
relevant descriptions are finite.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unary encoding of the decision threshold.
Equations
- inst.unaryThreshold = List.replicate inst.threshold true
Instances For
Canonical nested-pair encoding of (x, y, 1^t, 1^s).
Equations
- inst.encode = Complexity.pair inst.base.encode inst.unaryThreshold
Instances For
The transformed clock tau(|x|, |y|, t).
Equations
- inst.laterTime parameters = parameters.transformedTime inst.base
Instances For
The base-two logarithmic slack on the no side.
Equations
- inst.logSlack parameters = parameters.logarithmicSlack inst.base
Instances For
The condition's two-clock computational depth
C^t(y) - C^tau(y).
Equations
- inst.conditionDepth ordinaryMachine parameters = ordinaryMachine.computationalDepthBetween inst.condition inst.time (inst.laterTime parameters)
Instances For
Promised yes condition
C_cond^t(x | y) + cd^(t,tau)(y) <= s.
Equations
- inst.IsYes ordinaryMachine conditionalMachine parameters = (inst.base.complexity conditionalMachine + inst.conditionDepth ordinaryMachine parameters ≤ ↑inst.threshold)
Instances For
Promised no condition
C_cond^tau(x | y) > s + log_2(tau).
Equations
Instances For
A concrete program witnessing the depth-adjusted yes budget.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A concrete program forbidden by the promised no condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonically encoded depth-adjusted yes language. Malformed codes are outside the promise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonically encoded logarithmic-slack no language.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Total completion obtained by accepting exactly when the estimator value is at most the encoded threshold. Malformed codes are rejected.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executable thresholding of a numerical estimator.
Equations
- Complexity.GapMINCKT.decisionOfEstimator estimate bits = match Complexity.GapMINCKT.Instance.decode? bits with | some inst => decide (estimate inst.base ≤ inst.threshold) | none => false