A native mixed-radix encoding cell #
Main results #
Encoding.exec_cell: charged index arithmetic, coefficient dispatch, signed linear form, output store and counter increment for one cell of a shared coordinate transform.
References #
The linear forms are from [AlmanWilliams2026, Section 2.4.1]; see Encoding for provenance.
The registers modified by a cell, apart from the nine signed-arithmetic scratch registers.
Instances For
@[instance_reducible]
theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.Encoding.exec_cell {w : ℕ} (hw : 0 < w) (side : Bool) (x : WordRAM.Data 32) (P n s d i : ℕ) (hP : 0 < P) (hnpos : 0 < n) (hi : i < 10 * P * n) (hsrc : x.regs src = s) (hdst : x.regs dst = d) (hcell : x.regs cell = i) (hn : x.regs stride = n) (hseven : x.regs seven = 7) (hten : x.regs ten = 10) (hone : x.regs one = 1) (v : Fin 7 → ℤ) (B : ℤ) (hB : 0 ≤ B) (hv : ∀ (a : Fin 7), |v a| ≤ B) (hmem : ∀ (a : Fin 7), x.mem (s + (i / (10 * n) * 7 + ↑a) * n + i % n) = WordRAM.Signed.encode (v a)) (hval : 7 * B < 2 ^ (w - 1)) (haddr : WordRAM.Fits (w + 2) (s + d + 64 + 64 * P * n)) :
One output entry, with all index arithmetic and the counter increment charged. A single ordinary explicit natural-number bound covers the addresses and index products; no fit condition is imposed on an unspecified intermediate machine state.