Exact memory output of native Chan–He traversal #
The pointer table is an unsigned word list. Each pointed-to block contains the existing
Node.oneArray, encoded with the signed integer encoding, at the common finite length 4N.
This reuses the generic block/list realization API and introduces no alternative convolution
predicate or execution model.
Main definitions #
StoredNodes: exact pointer-table and packed-array readback for the emitted preorder.
Main results #
StoredNodes.congr: transfer exact readback along a frame on its live cells.StoredNodes.append: one actual pointer-table store appends a represented native node.
The concrete output invariant and proofs are original.
The exact finite output table and its signed-encoded packed node arrays.
- pointers : WordRAM.Block.HoldsList table (List.map Prod.fst ns) mem
The table contains exactly the native base pointers in emitted order.
- cells (i : Fin ns.length) : { base := ns[↑i].1, length := 4 * N }.Realizes mem fun (u : Fin { base := ns[↑i].1, length := 4 * N }.length) => WordRAM.Signed.encode (ns[↑i].2.oneArray U ↑u)
Every pointed-to word equals the existing mathematical packed array cell.
Instances For
Empty traversal output imposes no pointed-to array obligations.
Pointer-table and packed-array readback survive a frame on all their live cells.
Appending one native pointer preserves all packed readback. The stored pointer lies below both the old arrays and the fresh array, so the actual store cannot overwrite array data.