Finite-uniform recombination #
Finite-uniform version of the one-sided recombination theorem, producing a target weighted collection via expander recombination.
Uniform labeling helpers #
theorem
KaltonRoberts.exists_uniform_labeling_types
{A : Type u_2}
{B : Type u_3}
[Fintype A]
[Fintype B]
[DecidableEq B]
(hA : 0 < Fintype.card A)
(hB : 0 < Fintype.card B)
(hdvd : Fintype.card B ∣ Fintype.card A)
:
∃ (f : A → B), Function.Surjective f ∧ ∀ (j : B), {i : A | f i = j}.card = Fintype.card A / Fintype.card B
Cofinality of admissible multiples #
Duplication lemmas #
theorem
KaltonRoberts.uniform_duplication_source_count'
{U : Type u_1}
[DecidableEq U]
{A : Type u_2}
{B : Type u_3}
[Fintype A]
[Fintype B]
[DecidableEq B]
(lab : A → B)
(hfiber : ∀ (j : B), {i : A | lab i = j}.card = Fintype.card A / Fintype.card B)
(C : B → Finset U)
(i : U)
:
theorem
KaltonRoberts.uniform_duplication_sum
{A : Type u_2}
{B : Type u_3}
[Fintype A]
[Fintype B]
[DecidableEq B]
(lab : A → B)
(hfiber : ∀ (j : B), {i : A | lab i = j}.card = Fintype.card A / Fintype.card B)
(g : B → ℝ)
:
Ratio lemma #
theorem
KaltonRoberts.expander_ratio_eq_theta
{V : Type u_2}
{W : Type u_3}
[Fintype V]
[Fintype W]
{θ : ℚ}
{k : ℕ}
(hk : 0 < k)
(hV : Fintype.card V = 2 * k)
(hW : ↑(Fintype.card W) = 2 * θ * ↑k)
:
Finite-uniform one-sided recombination #
theorem
KaltonRoberts.one_sided_recombination_uniform_core
{U : Type u_1}
[DecidableEq U]
(f : Finset U → ℝ)
(hf : IsApproxAdditive f 1)
(M : ℝ)
(hM : ∀ (S : Finset U), |f S| ≤ M)
(α_val : ℚ)
(r_val : ℕ)
(θ_val : ℚ)
(hθ : 0 < ↑θ_val)
(_hθ1 : ↑θ_val < 1)
(hexp : StrongExpandersExist α_val r_val θ_val)
(hr : 0 < r_val)
{I : Type u_2}
[Fintype I]
(hI : 0 < Fintype.card I)
(C : I → Finset U)
(hfreq : ∀ (i : U), ↑{j : I | i ∈ C j}.card / ↑(Fintype.card I) ≤ ↑α_val)
(D : ℝ)
(hD : 0 ≤ D)
(havg_def : (∑ j : I, deficit f M (C j)) / ↑(Fintype.card I) ≤ D)
: