The Conditional Time-Bounded Kolmogorov Complexity Problem (MINcKT) #
This module defines the conditional time-bounded Kolmogorov complexity decision problem
Cslib.Kolmogorov.MINcKT (the conditional analogue of MINKT from
Hirahara, Definition 9), its fixed-parameter counterpart
Cslib.Kolmogorov.MINcKTAt, and the conditional promise problem Cslib.Kolmogorov.GapMINcKT
(the conditional analogue of GapMINKT from Hirahara, Definition 11), and proves
that MINcKT lies in NP (and that MINcKTAt t s lies in NP whenever t and s are
computable in polynomial time in unary).
The underlying conditional reference machine condUniversalTM and conditional complexity
measures condPlain, condTimeBounded, condTimeBoundedAt, and condLevinKt are developed in
Complexity.Computability.Kolmogorov.Conditional.
Threshold conventions #
As with MINKT and MINKTAt, both threshold conventions are provided and bridged:
- Thresholds in the instance (
Cslib.Kolmogorov.MINcKT): An instancei : MINcKT.Instanceconsists of a target binary stringi.string, an auxiliary condition stringi.cond, a step boundi.time, and a program size thresholdi.size, encoded byMINcKT.encwithi.timeandi.sizein unary (following Ko and the conditional analogue of Hirahara, Definition 9). The instance belongs toMINcKTwhencondTimeBoundedAt i.time i.string i.cond ≤ i.size. - Fixed-function thresholds (
Cslib.Kolmogorov.MINcKTAt t s): For time and size threshold functionst s : ℕ → ℕ,MINcKTAt t s : Set (List Bool × List Bool)is the language of string pairs(x, y)withcondTimeBounded t x y ≤ s x.length. The bridgemem_MINcKTAt_iff_mem_MINcKTidentifies(x, y) ∈ MINcKTAt t swith⟨x, y, t x.length, s x.length⟩ ∈ MINcKT, andMINcKTAt.polyTimeReducible_MINcKTreducesMINcKTAt t stoMINcKTwhenevertandsare computable in polynomial time in unary.
Main definitions #
Cslib.Kolmogorov.MINcKT.Instance,Cslib.Kolmogorov.MINcKT,Cslib.Kolmogorov.MINcKT.enc: instances, yes-instances, and unary-threshold encoding ofMINcKT.Cslib.Kolmogorov.MINcKT.check: polynomial-time witness verifier forMINcKT.Cslib.Kolmogorov.MINcKTAt,Cslib.Kolmogorov.MINcKTAt.toInstance: fixed-threshold language{(x, y) | condTimeBounded t x y ≤ s x.length}and its canonical embedding intoMINcKT.Instance.Cslib.Kolmogorov.GapMINcKT,Cslib.Kolmogorov.GapMINcKT.yesSet,Cslib.Kolmogorov.GapMINcKT.noSet: the conditional promise problemGapMINcKT[σ, τ](conditional analogue of Hirahara, Definition 11, parameterized here by gap functionsσ, τ : ℕ → ℕ → ℕ → ℕof|x|,|y|, and the threshold).
Main results #
Cslib.Kolmogorov.MINcKT.Instance.computableInPolyTime_mk,Cslib.Kolmogorov.MINcKT.computableInPolyTime_check: polynomial-time certificates for theMINcKTconstructor and witness verifier.Cslib.Kolmogorov.MINcKT.mem_NP:MINcKT ∈ NP MINcKT.enc.Cslib.Kolmogorov.mem_MINcKTAt_iff_mem_MINcKT,Cslib.Kolmogorov.MINcKTAt.computableInPolyTime_toInstance,Cslib.Kolmogorov.MINcKTAt.polyTimeReducible_MINcKT: equivalence and polynomial-time reduction betweenMINcKTAt t sandMINcKT.Cslib.Kolmogorov.MINcKTAt.mem_NP,Cslib.Kolmogorov.MINcKTAt.mem_NP_polynomial₂:MINcKTAt t s ∈ NP (encPair encBits encBits)for polynomial-time unary threshold functions.Cslib.Kolmogorov.GapMINcKT.disjoint_yesSet_noSet,Cslib.Kolmogorov.GapMINcKT.id_eq: disjointness of theGapMINcKTpromise sets and specialization toPromiseProblem.ofSet MINcKTwhenσandτare the identity on the threshold parameter.
References #
An instance of MINcKT: a target binary string string, a condition binary string cond, a
step bound time, and a program size threshold size (conditional analogue of
Hirahara, Definition 9).
The target binary string
x.The auxiliary condition binary string
y.- time : ℕ
The step bound
tfor the described multi-tape machine. - size : ℕ
The maximum allowed program length
s.
Instances For
Instances For
The Minimum Conditional Time-Bounded Kolmogorov Complexity Problem (MINcKT)
(conditional analogue of Hirahara, Definition 9):
the set of instances (x, y, t, s) such that condTimeBoundedAt t x y ≤ s.
Instances For
Standard encoding of MINcKT.Instance: pairs (i.string, i.cond) with the unary thresholds
(i.time, i.size).
Instances For
Applying MINcKT.enc encodes ((i.string, i.cond), (i.time, i.size)) via encPair.
Constructing a MINcKT.Instance from ((x, y), (t, s)) is computable in polynomial time.
Checking a candidate program for MINcKT is computable in polynomial time.
MINcKT is in NP (conditional analogue of Hirahara, Definition 9): a
witness for (x, y, 1^t, 1^s) is a binary program p of length at most s ≤ |(x, y, 1^t, 1^s)|,
verified in polynomial time by MINcKT.check.
Embeds a pair (x, y) into MINcKT.Instance using threshold functions t and s at |x|.
Instances For
If t and s are computable in polynomial time in unary, then toInstance t s is computable
in polynomial time.
Whenever t and s are computable in polynomial time in unary, MINcKTAt t s is
polynomial-time many-one reducible to MINcKT.
Fixed-threshold MINcKTAt t s is in NP whenever t and s are computable in polynomial
time in unary.
When both p.eval and q.eval are polynomials, MINcKTAt p.eval q.eval ∈ NP.
The yes-instances of GapMINcKT: instances (x, y, t, s) with $K^t(x \mid y) \le s$
(conditional analogue of Hirahara, Definition 11).
Instances For
The no-instances of GapMINcKT[σ, τ]: instances (x, y, t, s) with
$K^{\tau(|x|, |y|, t)}(x \mid y) > \sigma(|x|, |y|, s)$ (conditional analogue of
Hirahara, Definition 11, parameterized here by gap functions σ, τ : ℕ → ℕ → ℕ → ℕ
of |x|, |y|, and the threshold).
Instances For
When s ≤ σ n m s and t ≤ τ n m t, GapMINcKT.yesSet and GapMINcKT.noSet σ τ are
disjoint.
With trivial gap functions σ n m s = s and τ n m t = t, GapMINcKT.noSet is MINcKTᶜ.
Conditional promise problem GapMINcKT (conditional analogue of
Hirahara, Definition 11, parameterized by gap functions σ, τ : ℕ → ℕ → ℕ → ℕ):
separates MINcKT from GapMINcKT.noSet σ τ when s ≤ σ n m s and t ≤ τ n m t.
Instances For
With no gap (σ n m s = s and τ n m t = t), GapMINcKT is PromiseProblem.ofSet MINcKT.