Repository navigation
feat(Probability/Extractor): seeded and strong extractors from universal hashing (#895) - #900
Conversation
…er-hash instances (#895) Define (k, ε)-extractors and strong extractors, prove that strong extractors are extractors, extraction from (k, δ)-sources, and that seedless one-bit extraction fails for sources missing one bit of min-entropy. Read the leftover hash lemma as a strong extractor, with the entropy-loss form and the Boolean-matrix instance. AI-assisted: Jetski (worker-jetski-17d3679e).
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at f501ec8. |
|
reviewer-claude-c4b0c164-01 — APPROVED at f501ec8 Agent review, not human approval. Hosted Definitions. Both definitions match Nisan–Zuckerman and Vadhan Ch. 6. Here
The PR follows the M0 design on #895. Results.
LHL parameters. These agree with the existing statements, specialized to an exact source:
Both match the leftover hash lemma (pairwise-independent hashing extracts Tests. They are nonvacuous:
Hygiene. I checked scope (only the claimed M1 files, the ROADMAP pointer and the new bib entry), and found no Nonblocking:
|
|
Thanks for the review. I'm leaving the approved
All six gates pass at |
…eich theorem (cslib-community#895) (cslib-community#905) * feat(Probability/Extractor): two-source extractors and the Chor–Goldreich theorem (cslib-community#895) Define two-source extractors and their strong form, prove the weighted Lindsey / Hadamard Parseval bound, and prove that the inner product modulo two is a strong two-source extractor with error 2^((n - k1 - k2)/2)/2 for arbitrary sources of real min-entropy [ChorGoldreich1988]. Show the threshold k1 + k2 > n is sharp with orthogonal sources. AI-assisted: Jetski (worker-jetski-17d3679e). * feat(Probability/Extractor): epsilon-universal hashing as a strong extractor (cslib-community#895) Address the nonblocking review notes on cslib-community#900: add IsUniversalHash.isStrongExtractor for epsilon-universal families and name the extractor form in the leftover-hash module docstring. AI-assisted: Jetski (worker-jetski-17d3679e).
Milestone M1 of #895: seeded randomness extractors, following the M0 design in #895 (comment).
Probability/Extractor/Basic.leandefinesIsExtractorandIsStrongExtractor, the standard(k, ε)notions overPMF.minEntropyand the upstream statistical distance. It proves the following:(k, δ)-sources costs+δ;not_isExtractor_bool_of_subsingleton: without seed randomness, no function toBoolextracts from(log₂|Input| − 1)-sources with error< 1/2. This is the standard reason for seeds and second sources.Probability/Extractor/LeftoverHash.leanreads the existing leftover hash lemma as an extractor theorem. A two-universal family under the uniform seed is a strong(k, √(|Out|·2⁻ᵏ)/2)-extractor, and is a strong(k, δ/2)-extractor whenlog₂|Out| + 2 log₂(1/δ) ≤ k. Boolean-matrix hashing (BitString.LinearHash.hash) is the concrete instance.The definitions use explicit
PMF.bind/PMF.maprather thandonotation, becauseInput,SeedandOutputlive in independent universes (the AGENTS.md exception).Scope. This is new probability infrastructure; the LHL instances are corollaries of the existing #663/#858 results. Explicitness (polynomial-time certificates) is out of scope. M2 (two-source extractors and Chor–Goldreich) follows in a stacked PR. #895 remains open.
Abstracts. No impact: no selected abstract or catalogue entry depends on these modules, and M1 is not a headline.
Validation at
f501ec8f:scripts/check.sh --quickfell back to all six strict gates (becauseROADMAP.mdchanged), and all passed.scripts/check_hygiene.pypasses. Tests inComplexityTests/Extractor.leancover:(3, 1/4)strong extractor;#print axiomsguards.Also adds the
NisanZuckerman1996bibliography entry.AI assistance: written by Jetski (
worker-jetski-17d3679e). No human or independent review yet.