Almost-refinement of finite partitions #
A finite partition P of s almost refines a partition P₀ of s up to δ when every part
A of P₀ is covered, except for at most δ * #A of its elements, by parts of P contained in
A. Divisibility usually prevents an equipartition with a prescribed number of parts from refining
a given partition exactly, but Finpartition.equitabilise always produces one that almost refines
it. Almost-refinement is preserved by passing to an exact refinement, so iterated refinement
procedures, such as the energy increment in Szemerédi's regularity lemma, keep it.
Main declarations #
Finpartition.AlmostRefines P P₀ δ:Palmost refinesP₀up toδ.Finpartition.almostRefines_iff: the canonical cover is by all parts ofPcontained inA.Finpartition.almostRefines_of_le: an exact refinement almost refines up to anyδ ≥ 0.Finpartition.AlmostRefines.mono_left: almost-refinement passes to exact refinements.Finpartition.IsEquipartition.exists_equipartition_card_eq_almostRefines: an equipartition withkparts is almost refined, up toδ, by an equipartition with any numbern ≥ 2k / δof parts, providednis at most the size of the ground set.
P almost refines P₀ up to δ: each part A of P₀ contains a family of parts of P
whose union misses at most δ * #A elements of A.
Instances For
Almost-refinement only has to be checked on the largest admissible cover: the parts of P
contained in a given part of P₀.
Almost-refinement is monotone in the tolerance.
An exact refinement almost refines up to any nonnegative tolerance.
An exact refinement of a partition almost refining P₀ almost refines P₀ with the same
tolerance.
If P is an equipartition of s into k parts and 0 < n ≤ #s with 2k ≤ δn, then some
equipartition of s into exactly n parts almost refines P up to δ. It is obtained from
Finpartition.equitabilise, which leaves at most #s / n elements of each part of P
uncovered.