OAI/Combinatorics/LowSpaceSubsetSum/Counting/BalancedPartitions.lean
20 declarations, 0 contain sorry, 0 declared as axioms
Survival under balanced labeled partitions
The three category profiles in the survival proof are as balanced as possible. Their multinomial coefficients are therefore maximal, giving bounds on the number of prescribed labeled partitions.
- def
OAI.LowSpaceSubsetSum.BalancedProfileline 21Source documentation
Counts differ by at most one across all labeled blocks.
def BalancedProfile (t : K → ℕ) : Prop := ∀ i j, t i ≤ t j + 1
- theorem
OAI.LowSpaceSubsetSum.poisson_mass_at_adjacent_modeline 23 - theorem
OAI.LowSpaceSubsetSum.balanced_multinomial_maxline 35 - theorem
OAI.LowSpaceSubsetSum.balanced_multinomial_lowerline 63Source documentation
A balanced profile receives at least the average multinomial mass. There are at most
(n+1)^|K|profiles.theorem balanced_multinomial_lower [Nonempty K] (t : K → ℕ) (n : ℕ) (ht : BalancedProfile t) (hsum : ∑ i, t i = n) : (Fintype.card K : ℝ) ^ n ≤ (n + 1 : ℝ) ^ Fintype.card K * Nat.multinomial Finset.univ t := by …Mentions: OAI.LowSpaceSubsetSum.BalancedProfile
- def
OAI.LowSpaceSubsetSum.sigma_fst_fiber_equivline 87 - theorem
OAI.LowSpaceSubsetSum.exists_coloring_of_sumline 94 - theorem
OAI.LowSpaceSubsetSum.card_colorings_of_sumline 108 - abbrev
OAI.LowSpaceSubsetSum.CategoryDomainline 116Source documentation
The domain is the disjoint union of the three categories in the paper.
abbrev CategoryDomain (C : Fin 3 → Type*) := Σ a, C a
- abbrev
OAI.LowSpaceSubsetSum.PrescribedLabelingsline 118 - instance
OAI.LowSpaceSubsetSum.prescribedLabelingsFintypeline 122 - theorem
OAI.LowSpaceSubsetSum.card_prescribedLabelingsline 126 - theorem
OAI.LowSpaceSubsetSum.histogram_categoryDomainline 140 - theorem
OAI.LowSpaceSubsetSum.prescribedLabelings_fill_blocksline 154 - theorem
OAI.LowSpaceSubsetSum.prescribed_partition_probability_eqline 163Source documentation
Exact favorable/total counting formula, before applying the balanced bounds.
theorem prescribed_partition_probability_eq (C : Fin 3 → Type*) [∀ a, Fintype (C a)] (q : Fin 3 → K → ℕ) (b : ℕ) (hrows : ∀ a, ∑ i, q a i = Fintype.card (C a)) (hcols : ∀ i, ∑ a, q a i = b) : finiteUniformProbability (fun f : MatchingSmoothing.Colorings (CategoryDomain C) K (fun _ => b) => ∀ a, MatchingSmoothing.histogram (fun x : C a => f.val ⟨a, x⟩) = q a) = (∏ a, (Nat.multinomial Finset.univ (q a) : ℝ)) / Nat.multinomial (Finset.univ : Finset K) (fun _ => b) := by …Mentions: OAI.LowSpaceSubsetSum.finiteUniformProbability, OAI.MatchingSmoothing.Colorings, OAI.LowSpaceSubsetSum.CategoryDomain, OAI.MatchingSmoothing.histogram
- theorem
OAI.LowSpaceSubsetSum.balanced_category_count_lowerline 195 - theorem
OAI.LowSpaceSubsetSum.balanced_partition_probabilityline 226Source documentation
Uniform labeled equal-size partitions preserve all three balanced category prescriptions with the paper's inverse-polynomial probability.
theorem balanced_partition_probability [Nonempty K] (C : Fin 3 → Type*) [∀ a, Fintype (C a)] (q : Fin 3 → K → ℕ) (b : ℕ) (hrows : ∀ a, ∑ i, q a i = Fintype.card (C a)) (hcols : ∀ i, ∑ a, q a i = b) (hbal : ∀ a, BalancedProfile (q a)) : 1 / (Fintype.card (CategoryDomain C) + 1 : ℝ) ^ (3 * Fintype.card K) ≤ finiteUniformProbability (fun f : MatchingSmoothing.Colorings (CategoryDomain C) K (fun _ => b) => ∀ a, MatchingSmoothing.histogram (fun x : C a => f.val ⟨a, x⟩) = q a) := by …Mentions: OAI.LowSpaceSubsetSum.BalancedProfile, OAI.LowSpaceSubsetSum.CategoryDomain, OAI.LowSpaceSubsetSum.finiteUniformProbability, OAI.MatchingSmoothing.Colorings, OAI.MatchingSmoothing.histogram
- theorem
OAI.LowSpaceSubsetSum.balanced_partition_probability_two_or_fourline 269Source documentation
The only two arities used by the algorithm: top blocks (
l=4) and local blocks (l=2).theorem balanced_partition_probability_two_or_four (l b : ℕ) (hl : l = 2 ∨ l = 4) (C : Fin 3 → Type*) [∀ a, Fintype (C a)] (q : Fin 3 → Fin l → ℕ) (hrows : ∀ a, ∑ i, q a i = Fintype.card (C a)) (hcols : ∀ i, ∑ a, q a i = b) (hbal : ∀ a, BalancedProfile (q a)) : 1 / (Fintype.card (CategoryDomain C) + 1 : ℝ) ^ (3 * l) ≤ finiteUniformProbability (fun f : MatchingSmoothing.Colorings (CategoryDomain C) (Fin l) (fun _ => b) => ∀ a, MatchingSmoothing.histogram (fun x : C a => f.val ⟨a, x⟩) = q a) := by …Mentions: OAI.LowSpaceSubsetSum.BalancedProfile, OAI.LowSpaceSubsetSum.CategoryDomain, OAI.LowSpaceSubsetSum.finiteUniformProbability, OAI.MatchingSmoothing.Colorings, OAI.MatchingSmoothing.histogram
- theorem
OAI.LowSpaceSubsetSum.surviving_fraction_probabilityline 281Source documentation
A bounded surviving fraction has a polynomially likely substantial value.
theorem surviving_fraction_probability {Ω : Type*} [Fintype Ω] [Nonempty Ω] (Z : Ω → ℝ) {p : ℝ} (_hZ0 : ∀ ω, 0 ≤ Z ω) (hZ1 : ∀ ω, Z ω ≤ 1) (hp : p ≤ (∑ ω, Z ω) / Fintype.card Ω) : p / 2 ≤ finiteUniformProbability (fun ω => p / 2 ≤ Z ω) := by … - theorem
OAI.LowSpaceSubsetSum.finiteUniformProbability_eq_indicator_meanline 305 - theorem
OAI.LowSpaceSubsetSum.surviving_representative_familyline 316Source documentation
Pointwise survival gives a likely partition retaining at least half the expected fraction of an arbitrary finite representative family.
theorem surviving_representative_family {Ω R : Type*} [Fintype Ω] [Nonempty Ω] [Fintype R] [Nonempty R] (keeps : Ω → R → Prop) {p : ℝ} (hp : ∀ r, p ≤ finiteUniformProbability (fun ω => keeps ω r)) : p / 2 ≤ finiteUniformProbability (fun ω => p / 2 ≤ finiteUniformProbability (keeps ω)) := by …