Documentation

Pseudorandom.XorLemma

theorem L1_le_card_rpow_mul_dft_norm {α : Type u_1} [αnonempty : Nonempty α] [Fintype α] [AddCommGroup α] (a : α) :
a‖_[1] (Fintype.card α) ^ (3 / 2) * cft fun (x : α) => (a x)‖_[]
theorem lemma43 {α : Type u_1} [αnonempty : Nonempty α] [Fintype α] [AddCommGroup α] {β : Type u_2} [Nonempty β] [Fintype β] [AddCommGroup β] (a : α) [DecidableEq β] (t : NNReal) (ε : NNReal) (h : ∀ (χ : AddChar α ), AddChar.IsNontrivial χcft (fun (x : α) => (a x)) χ ε / (Fintype.card α)) (σ : αβ) (h₂ : ∀ (χ : AddChar β ), cft (χ σ)‖_[1] t) :
σ # a - σ # Function.const α (Finset.expect Finset.univ fun (x : α) => a x)‖_[1] t * ε * (Fintype.card β)
theorem range_eq_zmod_image (n : ℕ+) :
Finset.range n = Finset.image (fun (t : ZMod n) => ZMod.val t) Finset.univ
theorem le_add_div_add_of_le_of_le (a : ) (b : ) (n : ) (hb : 0 < b) (hn : 0 < n) (h : a / b n) :
a / b (a + 1) / (b + 1 / n)
theorem circle_lower_bound (x : ) :
2 - |4 * x - 2| (Circle.e x) - 1
theorem bound_on_apply_uniform (n : ℕ+) (m : ℕ+) :
(fun (x : ZMod n) => (ZMod.val x)) # (Uniform { val := Finset.univ, property := }) - (Uniform { val := Finset.univ, property := })‖_[1] m / n
theorem lemma44 (n : ℕ+) (m : ℕ+) (χ : AddChar (ZMod m) ) :
cft (χ fun (x : ZMod n) => (ZMod.val x))‖_[1] 6 * Real.log n + 6
theorem generalized_XOR_lemma (n : ℕ+) (m : ℕ+) (ε : NNReal) (a : FinPMF (ZMod n)) (h : ∀ (χ : AddChar (ZMod n) ), AddChar.IsNontrivial χcft (fun (x : ZMod n) => (a x)) χ ε / (Fintype.card (ZMod n))) :
SD (FinPMF.apply a fun (x : ZMod n) => (ZMod.val x)) (Uniform { val := Finset.univ, property := }) ε * m * (3 * Real.log n + 3) + m / (2 * n)