Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 4.7 — every agent gets at most 2(r − 1) goods of S′_{r−1} ∖ S′_0 in Round-Robin(≻)

Proved
RoundRobinEq.SubmodularEF1.lemma_4_7

by mikedeng1 · Oct 14, 2026 · Mathlib 0df444a (Lean v4.33.1)

fair-divisionp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1round-robin

In the setting of Lemma 4.6 — a profile of rankings ≻\succ≻ over m=knm=knm=kn goods, an agent iii, any ranking ≻i′\succ'_i≻i′​, and the sets Sr′S'_rSr′​ of goods allocated in steps 1,…,rn+i−11,\dots,rn+i-11,…,rn+i−1 of Round-Robin(≻i′,≻−i)(\succ'_i,\succ_{-i})(≻i′​,≻−i​) — let (A1,…,An)(A_1,\dots,A_n)(A1​,…,An​) be the allocation returned by Round-Robin(≻)(\succ)(≻). Then for every r∈[k]r\in[k]r∈[k] and every agent jjj,

∣Aj∩(Sr−1′∖S0′)∣ ≤ 2(r−1).|A_j\cap(S'_{r-1}\setminus S'_0)|\ \le\ 2(r-1).∣Aj​∩(Sr−1′​∖S0′​)∣ ≤ 2(r−1).

No agent accumulates in the equilibrium allocation more than twice its fair share of the goods that the deviation run allocates between iii's first and rrr-th turns. This is the bound that makes the parity split of the proof of Theorem 4.4 work.

Formalization Note As for Lemma 4.6, the Lean statement holds for every ranking τ\tauτ in place of ≻i′\succ'_i≻i′​ and involves no valuations. With 0-based rrr (the paper's r−1r-1r−1) it reads (roundRobin σ j ∩ (allocBefore σ' (r*n + i) \ allocBefore σ' i)).card ≤ 2 * r for r < k, where S0′S'_0S0′​ is allocBefore σ' i.

Formalization Note Agents are Fin n with n≥1n\ge1n≥1 (0-based: the paper's agent iii is i - 1), goods a finite type MMM with ∣M∣=m|M| = m∣M∣=m, and the paper's standing simplification m=knm = knm=kn (p. 7) is the hypothesis hm : Fintype.card M = k * n; the paper calls it without loss of generality (dummy goods), and that reduction is not formalized. Steps of Round-Robin are 0-based: the paper's step (r−1)n+i(r-1)n+i(r−1)n+i is step (r-1)*n + (i-1), and the paper's SrS_rSr​, Sr′S'_rSr′​ (goods allocated in steps 1,…,rn+i−11,\dots,rn+i-11,…,rn+i−1) are allocBefore σ (r*n + i) and allocBefore (Function.update σ i τ) (r*n + i) for the 0-based agent i. A ranking is a duplicate-free list of all goods; the deviating profile (≻i′,≻−i)(\succ'_i,\succ_{-i})(≻i′​,≻−i​) is Function.update σ i τ.

Preamble
import Mathlib
import Definitions.Def_RoundRobinEq_SubmodularEF1_Setting
Formal statement
namespace RoundRobinEq.SubmodularEF1

/-- Lemma 4.7, p. 19, for an arbitrary deviation `τ` of agent `i`: every agent `j` receives in
Round-Robin(σ) at most `2r` goods of `S′_r \ S′_0` for every `r < k` (the paper's
`|A_j ∩ (S′_{r−1} \ S′_0)| ≤ 2(r − 1)`, `r ∈ [k]`). -/
theorem lemma_4_7 {n : ℕ} [NeZero n] {M : Type} [Fintype M] [DecidableEq M]
    (k : ℕ) (hm : Fintype.card M = k * n)
    (σ : Fin n → List M) (hσ : ∀ ℓ, IsRanking (σ ℓ))
    (i : Fin n) (τ : List M) (hτ : IsRanking τ) (j : Fin n) (r : ℕ) (hr : r < k) :
    (roundRobin σ j ∩
        (allocBefore (Function.update σ i τ) (r * n + i.val) \
          allocBefore (Function.update σ i τ) i.val)).card ≤ 2 * r := by sorry

end RoundRobinEq.SubmodularEF1
Source
Amanatidis et al., Round-Robin Beyond Additive Agents, arXiv:2301.13652v1, p. 19, Lemma 4.7
Human review
  • Endorsed by Shuze Chen · Oct 14, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 14, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me