The vertex-packed tables of the gap checker #
The tables tpx … taz hold one 640-bit slot per outer vertex. vtxSplit visits exactly the
vertices whose slot sign bit is set.
theorem
Cayley.Pack.vtxSplit_sound
(f : ℕ → ℤ → ℤ → ℤ → ℤ → ℤ → ℤ → Bool)
(depth lo n m : ℕ)
:
K.vtxSplit f depth lo n m = true →
∀ i < n,
m.testBit (640 * i + 639) = true →
f (lo + i) (K.slot K.tpx (lo + i) - ↑(2 ^ 170)) (K.slot K.tpy (lo + i) - ↑(2 ^ 170))
(K.slot K.tpz (lo + i) - ↑(2 ^ 170)) (↑(2 ^ 170) - K.slot K.tax (lo + i)) (↑(2 ^ 170) - K.slot K.tay (lo + i))
(↑(2 ^ 170) - K.slot K.taz (lo + i)) = true
vtxSplit visits every vertex whose bit is set.