Linear-time canonical binary addition #
This module exposes a concrete three-tape ripple-carry adder. It preserves two canonical little-endian operands, writes their canonical sum to a fresh zero result tape, restores every owned head to cell one, and preserves the complete external tape frame. Its running time is linear in the operand bit widths.
The older TM.binaryAddIntoTM remains useful as a value-iterating count-up
routine; complexity-sensitive RAM simulation should use this width-linear
machine instead.
The complete scan-and-rewind machine has a linear bit-width envelope.
Framed time contract for canonical addition. Both operands are restored, the initially-zero result becomes their sum, and every unrelated tape is preserved exactly.
Reachability form of the framed addition theorem.
All-prefix auxiliary-space contract obtained from the concrete linear time bound.
Canonical addition never moves the public output head left.