Finite equipartitions #
This file defines finite equipartitions, the partitions whose parts all are the same size up to a
difference of 1.
Main declarations #
Finpartition.IsEquipartition: Predicate for aFinpartitionto be an equipartition.Finpartition.IsEquipartition.exists_partPreservingEquiv: part-preserving enumeration of a finset equipped with an equipartition. Indices of elements in the same part are congruent modulo the number of parts.
def
Finpartition.IsEquipartition
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
(P : Finpartition s)
:
An equipartition is a partition whose parts are all the same size, up to a difference of 1.
Equations
- P.IsEquipartition = (↑P.parts).EquitableOn Finset.card
Instances For
theorem
Finpartition.not_isEquipartition
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
:
theorem
Set.Subsingleton.isEquipartition
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
(h : (↑P.parts).Subsingleton)
:
theorem
Finpartition.IsEquipartition.average_le_card_part
{α : Type u_1}
[DecidableEq α]
{s t : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
(ht : t ∈ P.parts)
:
theorem
Finpartition.IsEquipartition.card_part_le_average_add_one
{α : Type u_1}
[DecidableEq α]
{s t : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
(ht : t ∈ P.parts)
:
theorem
Finpartition.IsEquipartition.card_large_parts_eq_mod
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
:
An equipartition of a finset with n elements into k parts has
n % k parts of size n / k + 1.
theorem
Finpartition.IsEquipartition.card_small_parts_eq_mod
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
:
An equipartition of a finset with n elements into k parts has
n - n % k parts of size n / k.
theorem
Finpartition.IsEquipartition.exists_partsEquiv
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
:
There exists an enumeration of an equipartition's parts where larger parts map to smaller numbers and vice versa.
theorem
Finpartition.IsEquipartition.exists_partPreservingEquiv
{α : Type u_1}
[DecidableEq α]
{s : Finset α}
{P : Finpartition s}
(hP : P.IsEquipartition)
:
Given a finset equipartitioned into k parts, its elements can be enumerated such that
elements in the same part have congruent indices modulo k.
Discrete and indiscrete finpartitions #
theorem
Finpartition.top_isEquipartition
{α : Type u_1}
[DecidableEq α]
(s : Finset α)
[Decidable (s = ⊥)]
:
theorem
Finpartition.indiscrete_isEquipartition
{α : Type u_1}
[DecidableEq α]
(s : Finset α)
{hs : s ≠ ∅}
: