Polynomial native preprocessing intermediates at every admitted width #
The program never reads physical width. Its complete execution at the derived minimum width therefore identifies every prefix at every larger admitted width. Every actual register and memory word, including address and arithmetic temporaries, has polynomial magnitude throughout.
Main results #
two_pow_width_le: the minimum-width word universe has polynomial magnitude.intermediates_polynomial: uniform polynomial bounds on every actual run-prefix word.space_polynomial: every actual run prefix has zero memory beyond the same polynomial range.
These native representation bounds are original and use the generic width-prefix API.
theorem Cslib.Algorithms.WordRAM.ThreeSum.ChanHe.Preprocessing.intermediates_polynomial {κ w : ℕ} (input : List ℤ) (hw : width κ input.length ≤ w) (hvalues : ∀ z ∈ input, |z| ≤ ↑((input.length + 2) ^ κ)) {s : WordRAM.State 128} {steps : ℕ} (hr : WordRAM.Runs w (flatProgram κ) (WordRAM.State.init (List.map WordRAM.Signed.encode input)) s steps) :
Every register, temporary and memory word has polynomial magnitude at every admitted width.
theorem Cslib.Algorithms.WordRAM.ThreeSum.ChanHe.Preprocessing.space_polynomial {κ w : ℕ} (input : List ℤ) (hw : width κ input.length ≤ w) (hvalues : ∀ z ∈ input, |z| ≤ ↑((input.length + 2) ^ κ)) {s : WordRAM.State 128} {steps a : ℕ} (hr : WordRAM.Runs w (flatProgram κ) (WordRAM.State.init (List.map WordRAM.Signed.encode input)) s steps) (ha : (input.length + 2) ^ (2720 * κ + 16456) ≤ a) :
Every prefix uses a polynomial initial interval of memory, even at wider physical widths.