Documentation

Complexitylib.Classes.Randomized.Hashing.Amplification

Hash-cell occupancy amplification #

This module transfers the constant one-hash occupancy gap to exponentially small error using strict majority over independent affine-hash seeds.

theorem Complexity.PairwiseIndependentHash.mem_majorityNonemptyEvent_iff {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) (seed : BitString (majoritySeedWidth seedWidth errorBits)) :
seed hash.majorityNonemptyEvent set target errorBits hash.majorityNonempty set target errorBits seed = true

A seed belongs to the amplified positive event exactly when the occupancy test returns true.

theorem Complexity.PairwiseIndependentHash.mem_majorityEmptyEvent_iff {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) (seed : BitString (majoritySeedWidth seedWidth errorBits)) :
seed hash.majorityEmptyEvent set target errorBits hash.majorityNonempty set target errorBits seed = false

A seed belongs to the amplified negative event exactly when the occupancy test returns false.

theorem Complexity.PairwiseIndependentHash.majorityEmptyEvent_eq_compl_majorityNonemptyEvent {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) :
hash.majorityEmptyEvent set target errorBits = (hash.majorityNonemptyEvent set target errorBits)

Seeds returning false are the complement of seeds returning true.

theorem Complexity.PairwiseIndependentHash.one_sub_two_pow_le_eventProb_majorityNonemptyEvent {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) (hmean : 8 hash.averageCellSize set target) :
1 - 1 / 2 ^ errorBits eventProb (hash.majorityNonemptyEvent set target errorBits)

If the mean target-cell size is at least 8, the amplified occupancy test returns true with probability at least 1 - 2^-errorBits.

theorem Complexity.PairwiseIndependentHash.eventProb_majorityEmptyEvent_le_two_pow {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) (hmean : 8 hash.averageCellSize set target) :
eventProb (hash.majorityEmptyEvent set target errorBits) 1 / 2 ^ errorBits

If the mean target-cell size is at least 8, the amplified occupancy test returns false with probability at most 2^-errorBits.

theorem Complexity.PairwiseIndependentHash.eventProb_majorityNonemptyEvent_le_two_pow {domainWidth rangeWidth seedWidth : } (hash : PairwiseIndependentHash domainWidth rangeWidth seedWidth) (set : Finset (BitString domainWidth)) (target : BitString rangeWidth) (errorBits : ) (hmean : hash.averageCellSize set target 1 / 8) :
eventProb (hash.majorityNonemptyEvent set target errorBits) 1 / 2 ^ errorBits

If the mean target-cell size is at most 1/8, the amplified occupancy test returns true with probability at most 2^-errorBits.