Documentation

Complexity.Algorithms.WordRAM.MatrixMultiplication.Schonhage.Wanted.Pack

Execution of the native wanted-output digit loop #

Main results #

Scalar contents retained throughout packing. These are only register equalities.

Instances For

    A consumed prefix and the remaining arithmetic recurrence give the original output.

    Instances For
      theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.Wanted.exec_packBody {w L M R C : ℕ} (x : WordRAM.Data 16) (hx : PackProgress L M R C x) (hc : (WordRAM.Cond.lt level depth).Holds x) (hfit : WordRAM.Fits w (M + R + C + L + 32 * 10 ^ L + 32)) :
      ∃ (y : WordRAM.Data 16), WordRAM.ExecWithin w packBody x y 13 ∧ PackProgress L M R C y ∧ y.mem = x.mem ∧ L - y.regs level < L - x.regs level

      One coordinate's actual test, arithmetic and register updates. The numeric budget is derived from original inputs, rather than an assumed bound on intermediate states.

      theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.Wanted.exec_pack {w : ℕ} (L M R C : ℕ) (x : WordRAM.Data 16) (hL : x.regs depth = L) (hM : x.regs mask = M) (hR : x.regs row = R) (hC : x.regs col = C) (hfit : WordRAM.Fits w (M + R + C + L + 32 * 10 ^ L + 32)) :

      Execute the entire fixed packer from ordinary register inputs. Every branch, division, remainder, index update and loop control is charged; memory and the depth are preserved.