Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Extractor.Strong.Weighted.SeedPadding

Padding strong-extractor seeds to a fixed upper budget #

Independent unused random bits do not change the strong-extraction error. The statistical test retains every seed bit, including the unused suffix. Thus an extractor with an exact seed length bounded by a simpler computed budget can use that larger seed width without changing its guarantee.

theorem Algebraic.Cutwidth.Extractor.WeightedStrongSeededExtractor.ignoreSeed {α : Type u_1} {Seed : Type u_2} {Ω : Type u_3} {Tail : Type u_4} [Fintype α] [Fintype Seed] [Fintype Ω] [Fintype Tail] [Nonempty Seed] [Nonempty Ω] [Nonempty Tail] {E : α → Seed → Ω} {K : ℕ} {ε : ℝ} (extract : WeightedStrongSeededExtractor E K ε) :
WeightedStrongSeededExtractor (fun (a : α) (seeds : Seed × Tail) => E a seeds.1) K ε

Retaining an additional independent unused seed preserves strong extraction.

theorem Algebraic.Cutwidth.Extractor.WeightedStrongSeededExtractor.padSeed {α : Type u_1} {Ω : Type u_2} [Fintype α] [Fintype Ω] [Nonempty Ω] {d r K : ℕ} {ε : ℝ} {E : α → (Fin d → Bool) → Ω} (extract : WeightedStrongSeededExtractor E K ε) (size : d ≤ r) :
WeightedStrongSeededExtractor (fun (a : α) (seed : Fin r → Bool) => E a fun (j : Fin d) => seed (Fin.castLE size j)) K ε

A Boolean seed can be padded to any larger width while retaining the entire padded seed.