Probabilistic data structure · deterministic lab
Bloom Filter X-Ray
Watch every hash strike the bit array, then run seeded probes until a value that was never added slips through. The estimate is (1 − exp(−kn/m))k; the collision is real.
Changing m, k, or the seed clears the filter. That reset is what preserves the no-false-negative guarantee.
Hash landing scanner
Each colored ray is one salted 32-bit hash. Repeated landings are valid collisions.
Add a value, query one, or generate the deterministic dataset.
Outcome decoder
The lab keeps an exact side ledger only so it can reveal what the probabilistic filter cannot know.
Filter says “maybe”; the exact ledger confirms the value was added.
Filter says “definitely not”; at least one landing bit is zero.
Filter says “maybe,” but other values happened to set every landing bit.
Filter says “no” for an inserted value. This should never happen here.
Why false negatives should be zero: add and query run the same seeded hashes. Adding sets all k landing bits to 1, and this lab never clears an individual bit. A nonzero false-negative count means the invariant was broken.
Event trace
A bounded, deterministic log of configuration, inserts, probes, positions, and classifications.