Documentation

Complexitylib.Models.RandomAccessMachine.Simulation.TMConfig.Sparse.Internal

Sparse unbounded TM configuration encoding -- proof internals #

theorem Complexity.RAM.TMConfig.Sparse.cellBase_le_cellReg_internal {n : ℕ} (tape : Fin (n + 2)) (position : ℕ) :
cellBase n ≤ cellReg n tape position
theorem Complexity.RAM.TMConfig.Sparse.decodeCellTape_cellReg_internal {n : ℕ} (tape : Fin (n + 2)) (position : ℕ) :
decodeCellTape n (cellReg n tape position) = tape
theorem Complexity.RAM.TMConfig.Sparse.decodeCellPosition_cellReg_internal {n : ℕ} (tape : Fin (n + 2)) (position : ℕ) :
decodeCellPosition n (cellReg n tape position) = position
theorem Complexity.RAM.TMConfig.Sparse.fieldReg_ne_control_internal {n : ℕ} (field : Field n) {reg : ℕ} (hlow : n + 3 ≤ reg) (hhigh : reg < cellBase n) :
fieldReg field ≠ reg
theorem Complexity.RAM.TMConfig.Sparse.Represents.update_control_internal {n : ℕ} {tm : TM n} {cfg : Complexity.Cfg n tm.Q} {store : Structured.Store} {reg value : ℕ} (hrepresents : Represents tm cfg store) (hlow : n + 3 ≤ reg) (hhigh : reg < cellBase n) :
Represents tm cfg (Function.update store reg value)
theorem Complexity.RAM.TMConfig.Sparse.encodeRegs_head_internal {n : ℕ} (tm : TM n) (cfg : Complexity.Cfg n tm.Q) (tape : Fin (n + 2)) :
encodeRegs tm cfg (headReg tape) = (tapeAt cfg tape).head
theorem Complexity.RAM.TMConfig.Sparse.encodeRegs_cell_internal {n : ℕ} (tm : TM n) (cfg : Complexity.Cfg n tm.Q) (tape : Fin (n + 2)) (position : ℕ) :
encodeRegs tm cfg (cellReg n tape position) = symbolCode ((tapeAt cfg tape).cells position)
theorem Complexity.RAM.TMConfig.Sparse.decode_of_represents_internal {n : ℕ} (tm : TM n) (cfg : Complexity.Cfg n tm.Q) (store : Structured.Store) (hrepresents : Represents tm cfg store) :
decode tm store = cfg