Documentation

Mathlib.Order.Partition.Equipartition

Finite equipartitions #

This file defines finite equipartitions, the partitions whose parts all are the same size up to a difference of 1.

Main declarations #

An equipartition is a partition whose parts are all the same size, up to a difference of 1.

Equations
Instances For
    theorem Finpartition.not_isEquipartition {α : Type u_1} [DecidableEq α] {s : Finset α} {P : Finpartition s} :
    ¬P.IsEquipartition aP.parts, bP.parts, b.card + 1 < a.card

    An equipartition of a finset with n elements into k parts has n % k parts of size n / k + 1.

    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) :
    ∃ (f : { x : Finset α // x P.parts } Fin P.parts.card), ∀ (t : { x : Finset α // x P.parts }), (↑t).card = s.card / P.parts.card + 1 (f t) < s.card % P.parts.card

    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) :
    ∃ (f : { x : α // x s } Fin s.card), ∀ (a b : { x : α // x s }), P.part a = P.part b (f a) % P.parts.card = (f b) % P.parts.card

    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 #