Documentation

Complexity.Algorithms.WordRAM.MatrixMultiplication.Schonhage.Pruned.Progress

Stored partial sums between native child calls #

Main definitions #

Main results #

This is an invariant of the existing finite controller. It contains ordinary register and memory equalities, not assumed executions or resource bounds. The timestamp directory is shared by all nodes, so the parent retains its list but does not retain a stale membership-marker assertion.

Progress after k of the ten actual child dispatches. The initial state is kept only to express the concrete spatial frame and preservation of its occupied request list.

Instances For
    theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.PrunedQuery.NodeProgress.scan_eq {L f a0 b0 n d p E k : ℕ} {S : Finset (MatrixMultiplication.Schonhage.OutStr (n + 1))} {a b : MatrixMultiplication.Schonhage.Leaf (n + 1) → ℤ} {x y : WordRAM.Data registers} (hx : NodeReady L f a0 b0 (n + 1) d p E S x) (hy : NodeProgress L f a0 b0 n d p E S a b x k y) (t : Fin 10) :

    The native scan's quotient image is the existing mathematical child set, even though the shared timestamp directory no longer marks the parent's membership.

    Before a dispatch, the original scalar budget covers the fresh scan and every possible descendant generation for that term.

    theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.PrunedQuery.exec_ready_enter {w L f a0 b0 n d p E : ℕ} (S : Finset (MatrixMultiplication.Schonhage.OutStr (n + 1))) (a b : MatrixMultiplication.Schonhage.Leaf (n + 1) → ℤ) (x : WordRAM.Data registers) (hx : NodeReady L f a0 b0 (n + 1) d p E S x) (hfit : WordRAM.Fits w (nodeBudget L f a0 b0 E (n + 1))) :
    ∃ (y : WordRAM.Data registers), WordRAM.ExecWithin w step x y (7 * S.card + 28) ∧ NodeProgress L f a0 b0 n d p E S a b x 0 y

    Entry performs the actual frame loads, clear loop and term store. The same returned state has zero partial sums and the original request list, including when that list is empty.