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