Equitable functions #
This file defines equitable functions.
A function f is equitable on a set s if f a₁ ≤ f a₂ + 1 for all a₁, a₂ ∈ s. This is mostly
useful when the codomain of f is ℕ or ℤ (or more generally a successor order).
TODO #
ℕ can be replaced by any SuccOrder + ConditionallyCompleteMonoid, but we don't have the
latter yet.
@[simp]
theorem Set.equitableOn_empty {α : Type u_1} {β : Type u_2} [LE β] [Add β] [One β] (f : α → β) :
∅.EquitableOn f
@[simp]
theorem Set.not_equitableOn {α : Type u_1} {β : Type u_2} [LinearOrder β] [Add β] [One β] {s : Set α} {f : α → β} :
theorem Set.Subsingleton.equitableOn {α : Type u_1} {β : Type u_2} [Semiring β] [PartialOrder β] [IsOrderedRing β] {s : Set α} (hs : s.Subsingleton) (f : α → β) :
s.EquitableOn f
theorem Set.equitableOn_singleton {α : Type u_1} {β : Type u_2} [Semiring β] [PartialOrder β] [IsOrderedRing β] (a : α) (f : α → β) :
{a}.EquitableOn f
theorem Finset.EquitableOn.le {α : Type u_1} {s : Finset α} {f : α → ℕ} {a : α} (h : (↑s).EquitableOn f) (ha : a ∈ s) :