Nechiporuk's bound for element distinctness #
Element distinctness reads m blocks of k bits and says whether the blocks are pairwise
different (elementDistinctness). With blocks of 2 t bits and m ≤ 2 ^ t, it has at least
2 ^ (t (m - 1)) subfunctions on each block: give the other blocks the values (j, wⱼ), tagged by
their position j, and each choice of the wⱼ is told apart by its own set of forbidden values
for the remaining block. Nechiporuk's bound then shows that a formula for it of leaf size L over
any basis of fan-in at most two, such as the full binary basis, has m (m - 1) t ≤ 4 L + m
(mul_le_leafSize_of_computes_elementDistinctness) [Nec66],
Jukna, Section 6.5. Taking t = ⌈log₂ m⌉
(mul_clog_le_leafSize_of_computes_elementDistinctness), the n = 2 m ⌈log₂ m⌉ bits need leaf
size about m ^ 2 log₂ m / 4, which is of order n ^ 2 / log n.
Main definitions #
Cslib.Circuits.Boolean.elementDistinctness: whethermblocks ofkbits are distinct.
Main results #
Cslib.Circuits.Boolean.mul_le_leafSize_of_computes_elementDistinctness: Nechiporuk's bound for element distinctness.
References #
Element distinctness: whether the m blocks of k bits are pairwise different.
Instances For
Element distinctness has at least 2 ^ (t (m - 1)) subfunctions on each block of 2 t bits
when m ≤ 2 ^ t.
Nechiporuk's bound for element distinctness. For m ≤ 2 ^ t, a formula over a basis of
fan-in at most two deciding whether m blocks of 2 t bits are pairwise different has leaf size
L with m (m - 1) t ≤ 4 L + m.
With blocks of 2 ⌈log₂ m⌉ bits, a formula over a basis of fan-in at most two for element
distinctness of m blocks has leaf size L with m (m - 1) ⌈log₂ m⌉ ≤ 4 L + m.