Sparse unbounded TM configurations in RAM registers #
This layout is independent of an input-length or time bound. State, heads, and
scratch occupy a fixed prefix determined only by the machine's tape count.
Tape cells are interleaved after that prefix at
cellBase + position * (n + 2) + tape. A fixed RAM program can therefore
compute every cell address using multiplication and addition while allocating
new tape positions on demand.
State register.
Equations
Instances For
Fixed head register for one named tape.
Equations
- Complexity.RAM.TMConfig.Sparse.headReg tape = 1 + ↑tape
Instances For
Constant-zero scratch register.
Equations
Instances For
Constant-one scratch register.
Equations
Instances For
Constant n + 2, used to compute interleaved cell addresses.
Equations
Instances For
Destructive finite-state dispatch register.
Equations
Instances For
Indirect cell-address scratch register.
Equations
Instances For
Writable-symbol scratch register.
Equations
Instances For
Loaded head-symbol register for one named tape.
Equations
- Complexity.RAM.TMConfig.Sparse.symbolReg n tape = n + 9 + ↑tape
Instances For
Exclusive end of the fixed control/scratch prefix and first tape-cell register.
Equations
- Complexity.RAM.TMConfig.Sparse.cellBase n = 2 * n + 11
Instances For
Address of one tape cell in the fixed interleaved layout.
Equations
- Complexity.RAM.TMConfig.Sparse.cellReg n tape position = Complexity.RAM.TMConfig.Sparse.cellBase n + position * (n + 2) + ↑tape
Instances For
Concrete address of a sparse configuration field.
Equations
- Complexity.RAM.TMConfig.Sparse.fieldReg (Sum.inl val) = Complexity.RAM.TMConfig.Sparse.stateReg
- Complexity.RAM.TMConfig.Sparse.fieldReg (Sum.inr (Sum.inl tape)) = Complexity.RAM.TMConfig.Sparse.headReg tape
- Complexity.RAM.TMConfig.Sparse.fieldReg (Sum.inr (Sum.inr (tape, position))) = Complexity.RAM.TMConfig.Sparse.cellReg n tape position
Instances For
Semantic value of one sparse configuration field.
Equations
- Complexity.RAM.TMConfig.Sparse.fieldValue tm cfg (Sum.inl val) = Complexity.RAM.TMConfig.stateCode tm cfg.state
- Complexity.RAM.TMConfig.Sparse.fieldValue tm cfg (Sum.inr (Sum.inl tape)) = (Complexity.RAM.TMConfig.tapeAt cfg tape).head
- Complexity.RAM.TMConfig.Sparse.fieldValue tm cfg (Sum.inr (Sum.inr (tape, position))) = Complexity.RAM.TMConfig.symbolCode ((Complexity.RAM.TMConfig.tapeAt cfg tape).cells position)
Instances For
A store represents the complete unbounded TM configuration. Scratch registers in the fixed gap are deliberately unconstrained.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Decode the tape slot of an interleaved cell register.
Equations
- Complexity.RAM.TMConfig.Sparse.decodeCellTape n reg = ⟨(reg - Complexity.RAM.TMConfig.Sparse.cellBase n) % (n + 2), ⋯⟩
Instances For
Decode the position of an interleaved cell register.
Equations
- Complexity.RAM.TMConfig.Sparse.decodeCellPosition n reg = (reg - Complexity.RAM.TMConfig.Sparse.cellBase n) / (n + 2)
Instances For
Canonical sparse register encoding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Decode one complete sparse tape.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Decode a complete sparse store into a TM configuration.
Equations
- One or more equations did not get rendered due to their size.