Documentation

Complexitylib.Models.TuringMachine.UTM.Universal

The universal machine: headline theorems #

Arora–Barak Theorem 1.9 (efficient universal simulation), in two forms:

Total running time of the universal machine on pair α x when the simulated machine halts within T steps (n = |x|). Linear in T; all other dependence is on the description alone.

Equations
Instances For
    theorem Complexity.TM.UTMBody.utmTM_simulates_decider {α : List Bool} (hterm : TerminatedRegion α) {L : Language} {T : } (hdec : (decodeDesc α).toTM.DecidesInTime L T) (x : List Bool) :
    ∃ (c' : Cfg 6 utmTM.Q), tutmTime α (T x.length) x.length, utmTM.reachesIn t (utmTM.initCfg (pair α x)) c' utmTM.halted c' (x Lc'.output.cells 1 = Γ.one) (xLc'.output.cells 1 = Γ.zero)

    Universal simulation of deciders (AB Theorem 1.9). If the machine described by α decides L within T, the universal machine reads pair α x and reports x ∈ L within utmTime α (T |x|) |x| steps.

    theorem Complexity.TM.UTMBody.utmTM_universal {k : } (M : TM k) {L : Language} {T : } (hdec : M.DecidesInTime L T) :
    ∃ (α : List Bool), ∀ (x : List Bool), ∃ (c' : Cfg 6 utmTM.Q), tutmTime α (NTM.singleTapeSimTime k T x.length) x.length, utmTM.reachesIn t (utmTM.initCfg (pair α x)) c' utmTM.halted c' (x Lc'.output.cells 1 = Γ.one) (xLc'.output.cells 1 = Γ.zero)

    One machine simulates them all: for every multi-tape decider there is a description under which the fixed universal machine decides the same language from paired inputs, at single-tape-reduction (quadratic) cost.

    theorem Complexity.TM.UTMBody.utmTM_universal_padded {k : } (M : TM k) {L : Language} {T : } (hdec : M.DecidesInTime L T) :
    ∃ (α₀ : List Bool), ∀ (junk x : List Bool), ∃ (c' : Cfg 6 utmTM.Q), tutmTime (α₀ ++ junk) (NTM.singleTapeSimTime k T x.length) x.length, utmTM.reachesIn t (utmTM.initCfg (pair (α₀ ++ junk) x)) c' utmTM.halted c' (x Lc'.output.cells 1 = Γ.one) (xLc'.output.cells 1 = Γ.zero)

    Padded universality: the description of a decider works under arbitrary padding — every machine has descriptions of every sufficiently large length, all correctly simulated. This is the form the hierarchy-theorem diagonalization consumes.