Documentation

Complexitylib.Models.RandomAccessMachine.Simulation.TMConfig.Step.Internal.Layout

TM-to-RAM step layout -- proof internals #

theorem Complexity.RAM.TMConfig.Step.cellBase_add_eq_fieldReg_internal {n bound : } (tape : Fin (n + 2)) (position : Fin (bound + 1)) :
cellBase n bound tape + position = fieldReg (cellField tape position)
theorem Complexity.RAM.TMConfig.Step.symbolReg_ge_internal (n bound : ) (tape : Fin (n + 2)) :
registerCount n bound symbolReg n bound tape
theorem Complexity.RAM.TMConfig.Step.scratch_lt_registerLimit_internal (n bound : ) :
zeroReg n bound < registerLimit n bound oneReg n bound < registerLimit n bound stateScratchReg n bound < registerLimit n bound addressReg n bound < registerLimit n bound valueReg n bound < registerLimit n bound ∀ (tape : Fin (n + 2)), symbolReg n bound tape < registerLimit n bound
theorem Complexity.RAM.TMConfig.Step.encodeRegs_storeBounded_internal {n : } (tm : TM n) (bound : ) (cfg : Complexity.Cfg n tm.Q) (hheads : HeadsBounded cfg bound) :
StoreBounded tm bound (encodeRegs tm bound cfg)
theorem Complexity.RAM.TMConfig.Step.loadTapeOps_represents_internal {n : } {tm : TM n} {bound : } {cfg : Complexity.Cfg n tm.Q} {store : Structured.Store} (hrepresents : Represents tm bound cfg store) (tape : Fin (n + 2)) :
Represents tm bound cfg (Structured.Basic.execList (loadTapeOps n bound tape) store)
theorem Complexity.RAM.TMConfig.Step.loadTapeOps_symbol_internal {n : } {tape : Fin (n + 2)} {tm : TM n} {bound : } {cfg : Complexity.Cfg n tm.Q} {store : Structured.Store} (hrepresents : Represents tm bound cfg store) (hhead : (tapeAt cfg tape).head bound) :
Structured.Basic.execList (loadTapeOps n bound tape) store (symbolReg n bound tape) = symbolCode (tapeAt cfg tape).read