Sparse unbounded TM configuration encoding -- proof internals #
theorem
Complexity.RAM.TMConfig.Sparse.decodeCellTape_cellReg_internal
{n : ℕ}
(tape : Fin (n + 2))
(position : ℕ)
:
theorem
Complexity.RAM.TMConfig.Sparse.decodeCellPosition_cellReg_internal
{n : ℕ}
(tape : Fin (n + 2))
(position : ℕ)
:
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.scratch_range_internal
(n : ℕ)
:
(n + 3 ≤ zeroReg n ∧ zeroReg n < cellBase n) ∧ (n + 3 ≤ oneReg n ∧ oneReg n < cellBase n) ∧ (n + 3 ≤ tapeCountReg n ∧ tapeCountReg n < cellBase n) ∧ (n + 3 ≤ stateScratchReg n ∧ stateScratchReg n < cellBase n) ∧ (n + 3 ≤ addressReg n ∧ addressReg n < cellBase n) ∧ (n + 3 ≤ valueReg n ∧ valueReg n < cellBase n) ∧ ∀ (tape : Fin (n + 2)), n + 3 ≤ symbolReg n tape ∧ symbolReg n tape < cellBase n
theorem
Complexity.RAM.TMConfig.Sparse.encodeRegs_state_internal
{n : ℕ}
(tm : TM n)
(cfg : Complexity.Cfg n tm.Q)
:
theorem
Complexity.RAM.TMConfig.Sparse.encodeRegs_head_internal
{n : ℕ}
(tm : TM n)
(cfg : Complexity.Cfg n tm.Q)
(tape : Fin (n + 2))
:
theorem
Complexity.RAM.TMConfig.Sparse.encodeRegs_cell_internal
{n : ℕ}
(tm : TM n)
(cfg : Complexity.Cfg n tm.Q)
(tape : Fin (n + 2))
(position : ℕ)
:
theorem
Complexity.RAM.TMConfig.Sparse.encodeRegs_represents_internal
{n : ℕ}
(tm : TM n)
(cfg : Complexity.Cfg n tm.Q)
:
Represents tm cfg (encodeRegs tm cfg)
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)
:
theorem
Complexity.RAM.TMConfig.Sparse.decode_encode_internal
{n : ℕ}
(tm : TM n)
(cfg : Complexity.Cfg n tm.Q)
: