Documentation

Complexitylib.Classes.Containments.Internal.PHBank

What the enumerator's tapes rest in between iterations #

⚠️ Unreviewed by Bolton

The counting loop's state names three registers; every other tape has to be back at a known resting value when an iteration ends, or the next one cannot be entered. For the witness enumerator that bank is not the same at every index: the witness tape advances with the counter, which is why the loop rule this machine uses is the indexed one.

Everything else rests where it started — the input copy rewound, the horizon in place, the wipe's height register loaded, and every scratch tape blank.

Main results #

A tape holding a bitstring is parked: its head is off the left marker and no cell past the marker holds one.

def Complexity.PolyExists.enumRest (k : ) (x : List Bool) (N H v : ) :

The resting bank at a given count. The input copy and the horizon are where the prologue put them, the wipe's height register is loaded, the witness is the one the count denotes, and every scratch tape is blank.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Complexity.PolyExists.enumRest_x (k : ) (x : List Bool) (N H v : ) :
    enumRest k x N H v (xIdx k) = strTape x
    @[simp]
    theorem Complexity.PolyExists.enumRest_w (k : ) (x : List Bool) (N H v : ) :
    enumRest k x N H v (wIdx k) = strTape (dropTop v)
    @[simp]
    theorem Complexity.PolyExists.enumRest_n (k : ) (x : List Bool) (N H v : ) :
    enumRest k x N H v (nIdx k) = natTape N
    theorem Complexity.PolyExists.enumRest_parked (k : ) (x : List Bool) (N H v : ) (i : Fin (enumTapes k)) :
    TM.Parked (enumRest k x N H v i)

    The bank is parked at every index, which is what the loop rule asks of the tapes its state does not name.

    theorem Complexity.PolyExists.enumRest_head (k : ) (x : List Bool) (N H v : ) (i : Fin (enumTapes k)) :
    (enumRest k x N H v i).head 1

    Every resting tape is at cell one, which is what makes the loop's window one iteration wide.