Collision-free shifts for fusion-tree multiplication #
The multiplier in a fusion node moves its significant bits into a short interval. Choosing the shifts must separate every cross term of the multiplication, not just the diagonal terms which are retained. This module proves that such shifts exist. Preprocessing is mathematical; no preprocessing-time or RAM-execution bound is asserted here.
Main definitions #
spreadShift: a bounded residue shifted by a multiple of the collision modulus.
Main results #
exists_residue_shifts: shifts belowr³separating translates modulor³.exists_spread_shifts: collision-free cross terms and ordered diagonal terms in a span of at most2r⁴bits.
References #
Choose r translates separated modulo r³. Positions may have equal residues:
only translates with different shift indices are required to be disjoint.
Lift a residue by a multiple of M. Two modulus-sized slots per diagonal term
leave room for both the input position's residue and the chosen shift's residue.
Instances For
Adding a multiple of the collision modulus preserves a chosen shift's residue.
For distinct significant positions below w, all cross terms of the mask multiplication
are distinct, diagonal terms preserve their order, and every diagonal lies in an interval
of length 2r⁴. This is an existence theorem for preprocessing, with no RAM-time claim.
The set bits of a position mask are exactly its supplied positions.
A position mask fits in any width above all its distinct positions.
Expand the masked product into all its binary cross terms.
No carries occur anywhere in a collision-free product. At every cross-term position, the original significant bit is recovered exactly.
A masked multiplication, right shift, and final mask retaining its diagonal terms. This expression uses unbounded arithmetic; a RAM implementation must separately account for the product's potentially multiple words.
Instances For
Exact sketch compression, including every zero between the retained bits. The hypotheses
are satisfied by exists_spread_shifts; no word-RAM execution is asserted by this identity.