Bit projections and highest differing positions #
Natural numbers represent bit strings, with an explicit width for bounded-word comparisons. Projections retain selected positions in list order; finite-set sketches sort those positions by significance. Prefix boundaries replace the low bits with fixed masks.
Main definitions #
differingBits,highestDiff: differing positions below a given width and their maximum.projectBits,sketch: list and finite-set bit projections.lowerBoundary,upperBoundary: words with a shared high prefix and fixed low-bit masks.
Main results #
highestDiff_spec: distinct bounded words differ at their highest differing position.projectBits_lt: a selected highest differing position preserves strict order.projectBits_ofFn_eq_sum: the positional numeric value of a projection.boundary_prefix: both boundaries preserve the high prefix.
References #
See [FW93] for the use of significant-bit projections in fusion trees.
The positions below w where the binary representations of x and y differ.
Instances For
The highest differing position below w, or zero when there are no differing positions.
Instances For
Unequal bounded words differ at highestDiff and share all more significant bits.
A selected highest differing bit makes the projection strictly ordered.
Every projection fits in the number of bits selected by its position list.
Keep the prefix above p, set bit p to zero, and set every lower bit to one.
Instances For
Keep the prefix above p, set bit p to one, and set every lower bit to zero.