The Time-Bounded Kolmogorov Complexity Problem (MINKT) #
This module defines the time-bounded Kolmogorov complexity decision problem Cslib.Kolmogorov.MINKT
and its fixed-parameter counterpart Cslib.Kolmogorov.MINKTAt, proves that MINKT lies in NP
(and that MINKTAt t s lies in NP whenever t and s are computable in polynomial time in
unary), and defines Hirahara's promise problem Cslib.Kolmogorov.GapMINKT.
Threshold conventions #
Both standard formulations of the time-bounded Kolmogorov complexity decision problem are provided and bridged:
- Thresholds in the instance (
Cslib.Kolmogorov.MINKT): An instancei : MINKT.Instanceconsists of a binary stringi.string, a time boundi.time, and a size thresholdi.size, encoded byMINKT.encasxfollowed by1^timeand1^sizein unary (Ko; Hirahara, Definition 9). The instance belongs toMINKTwhentimeBoundedAt i.time i.string ≤ i.size. - Fixed-function thresholds (
Cslib.Kolmogorov.MINKTAt t s): For time and size threshold functionst s : ℕ → ℕ,MINKTAt t s : Set (List Bool)is the language of stringsxwithtimeBounded t x ≤ s x.length(Liu and Pass, Section 2.2). The bridgemem_MINKTAt_iff_mem_MINKTidentifiesx ∈ MINKTAt t swith⟨x, t x.length, s x.length⟩ ∈ MINKT, andMINKTAt.polyTimeReducible_MINKTreducesMINKTAt t stoMINKTwhenevertandsare computable in polynomial time in unary.
Main definitions #
Cslib.Kolmogorov.MINKT.Instance,Cslib.Kolmogorov.MINKT,Cslib.Kolmogorov.MINKT.enc: instances, yes-instances, and unary-threshold encoding ofMINKT.Cslib.Kolmogorov.MINKT.check: polynomial-time witness check forMINKT.Cslib.Kolmogorov.MINKTAt,Cslib.Kolmogorov.MINKTAt.toInstance: fixed-threshold language{x | timeBounded t x ≤ s x.length}and its canonical embedding intoMINKT.Instance.Cslib.Kolmogorov.GapMINKT,Cslib.Kolmogorov.GapMINKT.yesSet,Cslib.Kolmogorov.GapMINKT.noSet: Hirahara's promise problemGapMINKT[σ, τ]and its yes/no sets (Hirahara, Definition 11).
Main results #
Cslib.Kolmogorov.MINKT.Instance.computableInPolyTime_string,Cslib.Kolmogorov.MINKT.Instance.computableInPolyTime_time,Cslib.Kolmogorov.MINKT.Instance.computableInPolyTime_size,Cslib.Kolmogorov.MINKT.Instance.computableInPolyTime_mk,Cslib.Kolmogorov.MINKT.computableInPolyTime_check: polynomial-time certificates forMINKTprojections, constructor, and witness verifier.Cslib.Kolmogorov.MINKT.mem_NP:MINKT ∈ NP MINKT.enc.Cslib.Kolmogorov.mem_MINKTAt_iff_mem_MINKT,Cslib.Kolmogorov.MINKTAt.computableInPolyTime_toInstance,Cslib.Kolmogorov.MINKTAt.polyTimeReducible_MINKT: equivalence and polynomial-time reduction betweenMINKTAt t sandMINKT.Cslib.Kolmogorov.MINKTAt.mem_NP,Cslib.Kolmogorov.MINKTAt.mem_NP_polynomial,Cslib.Kolmogorov.MINKTAt.mem_NP_polynomial₂:MINKTAt t s ∈ NP encBitsfor polynomial-time unary thresholds and for polynomial time boundst = p.eval.Cslib.Kolmogorov.GapMINKT.disjoint_yesSet_noSet,Cslib.Kolmogorov.GapMINKT.no_eq,Cslib.Kolmogorov.GapMINKT.id_eq: consistency and specialization ofGapMINKT.
References #
Instances For
The Minimum Time-Bounded Kolmogorov Complexity Problem (MINKT)
(Ko; Hirahara, Definition 9): the set of instances
(x, t, s) such that some binary program of length at most s outputs x within t steps under
universalTM.
Instances For
Standard encoding of MINKT.Instance: the string x, followed by 1^time and 1^size in
unary (Ko; Hirahara, Definition 9).
Instances For
Applying MINKT.enc encodes (i.string, (i.time, i.size)) via encPair.
Extracting the target string i.string from a MINKT.Instance is computable in polynomial
time.
Extracting the unary step bound i.time from a MINKT.Instance is computable in polynomial
time.
Extracting the unary size bound i.size from a MINKT.Instance is computable in polynomial
time.
Constructing a MINKT.Instance from (x, (t, s)) is computable in polynomial time.
Checking a candidate program for MINKT is computable in polynomial time.
Fixed-threshold MINKT (MINKTAt t s, Liu and Pass, Section 2.2):
the language of binary strings x with timeBounded t x ≤ s x.length.
Instances For
Whenever timeBounded t x ≠ ⊤ (in particular, whenever t x.length ≥ x.length + 1),
membership in MINKTAt t s is equivalent to the ℕ-valued inequality
timeBoundedNat t x ≤ s x.length.
Embeds a string x into MINKT.Instance using the threshold functions t and s at |x|.
Instances For
toInstance t s x ∈ MINKT iff x ∈ MINKTAt t s.
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, MINKTAt t s is
polynomial-time many-one reducible to MINKT.
Fixed-threshold MINKTAt t s is in NP whenever t and s are computable in polynomial
time in unary.
For any polynomial time bound t = p.eval and unary polynomial-time size threshold s
(as in MINKt[s] of Liu and Pass, Section 2.2), MINKTAt p.eval s ∈ NP encBits.
When both the time bound p.eval and size threshold q.eval are polynomials,
MINKTAt p.eval q.eval ∈ NP encBits.
The yes-instances of GapMINKT: instances (x, t, s) with $K^t(x) \le s$
(Hirahara, Definition 11).
Instances For
The raw no-instances of GapMINKT[σ, τ]: instances (x, t, s) with
$K^{\tau(|x|, t)}(x) > \sigma(|x|, s)$ (Hirahara, Definition 11).
Instances For
i ∈ GapMINKT.yesSet iff i ∈ MINKT.
When $\sigma(n, s) \ge s$ and $\tau(n, t) \ge t$ (as required in
Hirahara, Definition 11), GapMINKT.yesSet and GapMINKT.noSet σ τ
are disjoint.
With trivial gap functions σ n s = s and τ n t = t, GapMINKT.noSet is the complement of
MINKT.
Hirahara's GapMINKT promise problem (Hirahara, Definition 11):
the promise problem whose yes-instances are MINKT, and whose no-instances are
GapMINKT.noSet σ τ, when s ≤ σ n s and t ≤ τ n t. Following Hirahara, the gap hypotheses
hσ and hτ are bundled to ensure disjointness of yes- and no-instances by construction.