Polynomial-time Turing autoreducibility #
A set A is polynomial-time Turing autoreducible if it can be decided in polynomial time
by an oracle machine that never queries its own input (Ambos-Spies 1984;
Buhrman, Fortnow, van Melkebeek and Torenvliet 2000).
Main definitions #
Cslib.Complexity.PolyTimeTuringAutoreducible: polynomial-time Turing autoreducibility of an encoded languageA.
Main results #
Cslib.Complexity.PolyTimeTuringAutoreducible.polyTimeTuringReducible: an autoreduction is in particular a Turing reduction ofAtoA.Cslib.Complexity.polyTimeTuringAutoreducible_bits_iff: simplified characterization for bitstring languages withencBits.Cslib.Complexity.polyTimeTuringAutoreducible_of_polyTimeReducible_fixedPointFree,Cslib.Complexity.PolyTimeManyOneAutoreducible.polyTimeTuringAutoreducible,Cslib.Complexity.LogSpaceManyOneAutoreducible.polyTimeTuringAutoreducible: every fixed-point-free polynomial-time or logspace many-one autoreduction ofAinduces a polynomial-time Turing autoreduction.Cslib.Complexity.PolyTimeTruthTableAutoreducible.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeKTruthTableAutoreducible.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeBTTAutoreducible.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeDTTAutoreducible.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeCTTAutoreducible.polyTimeTuringAutoreducible: truth-table autoreducibility and its bounded, disjunctive, and conjunctive specializations imply polynomial-time Turing autoreducibility.Cslib.Complexity.PolyTimeTruthTableMitotic.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeBTTMitotic.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeKTruthTableMitotic.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeDTTMitotic.polyTimeTuringAutoreducible,Cslib.Complexity.PolyTimeManyOneMitotic.polyTimeTuringAutoreducible: every truth-table, bounded truth-table,k-truth-table, disjunctive truth-table, or many-one mitotic set is polynomial-time Turing autoreducible.Cslib.Complexity.polyTimeTuringAutoreducible_of_mem_P: every languageA ∈ Pis unconditionally polynomial-time Turing autoreducible (via a 0-query program). This sharply contrasts with many-one autoreducibility, where singleton and co-singleton languages inPare not many-one autoreducible.
References #
A polynomial-time Turing autoreduction is in particular a polynomial-time Turing reduction of
A to A.
On bitstring languages with the default encoding encBits, the no-self-query condition
simply requires q.2 ≠ a.
Every fixed-point-free polynomial-time many-one reduction of A to A induces a
polynomial-time Turing autoreduction.
Every problem in P is polynomial-time Turing autoreducible. The decider makes zero
oracle queries, so the no-self-query condition is vacuously satisfied.
Every polynomial-time many-one autoreduction is a polynomial-time Turing autoreduction.
Every logspace many-one autoreduction is a polynomial-time Turing autoreduction.
Truth-table to Turing autoreducibility #
Every polynomial-time truth-table autoreduction is a polynomial-time Turing autoreduction.
The query list (List.range (r a)).map (fun i => encA (q (a, i))) is evaluated sequentially
against languageOracle (encA '' A), and every queried word has the form encA (q (a, i)) with
i < r a, which is distinct from encA a by injectivity of encA.
Every polynomial-time k-truth-table autoreduction is a polynomial-time Turing
autoreduction.
Every polynomial-time bounded truth-table autoreduction is a polynomial-time Turing autoreduction.
Every polynomial-time disjunctive truth-table autoreduction is a polynomial-time Turing autoreduction.
Every polynomial-time conjunctive truth-table autoreduction is a polynomial-time Turing autoreduction.
Every polynomial-time truth-table mitotic set is polynomial-time Turing autoreducible.
Every polynomial-time bounded truth-table mitotic set is polynomial-time Turing autoreducible.
Every polynomial-time k-truth-table mitotic set is polynomial-time Turing autoreducible.
Every polynomial-time disjunctive truth-table mitotic set is polynomial-time Turing autoreducible.
Every polynomial-time many-one mitotic set is polynomial-time Turing autoreducible.