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