Documentation

Complexitylib.Interop.Mathlib.TM0.Internal.Simulation

Source-step simulation on binary tracks #

All work heads move together. Their contents at each relative offset encode the source tape at that offset, so each source write or move takes one CSLib step.

The simulator is executing the source state with the same relative tape contents.

Instances For
    theorem Complexity.MathlibTM0.move_nth {Γ : Type u_1} [Inhabited Γ] (dir : Turing.Dir) (t : Turing.Tape Γ) (z : ℤ) :
    (Turing.Tape.move dir t).nth z = t.nth (z + ↑(moveSign dir))
    theorem Complexity.MathlibTM0.Sim.step {M : BinaryMachine} {input : List Bool} {c c' : M.Config} {d : Turing.Cfg (Fintype.card M.Alphabet) Bool (Control M.State) input} (h : Sim M c d) (hs : Turing.TM0.step M.code c = some c') :
    theorem Complexity.MathlibTM0.Sim.run {M : BinaryMachine} {input : List Bool} {c c' : M.Config} {d : Turing.Cfg (Fintype.card M.Alphabet) Bool (Control M.State) input} (h : Sim M c d) (t : ℕ) (hs : M.run t c = some c') :