Theorem 14, p. 14 — an allocation meeting Theorem 8's three conditions gives every agent at least MMS_i(n, M)/(2 − |P|/n)
ProvedLittleCharity.MMS.theorem_14Let be a set of agents with additive valuations and a set of goods. Let be a partial allocation with pool of unallocated goods and , satisfying the three conditions of Theorem 8:
- is EFX;
- for all agents ;
- is less than the number of sources (unenvied agents) of the envy graph .
Then for every agent ,
The guarantee interpolates between the factor for an empty pool and the factor when : the more goods the algorithm leaves to charity, the closer every agent gets to her full maximin share.
Formalization Note The paper's Theorem 14 asserts that there exists an allocation satisfying Theorem 8's conditions, a ½-Nash-social-welfare guarantee, and this bound. Existence of such an allocation is Theorem 8 (the goal of mission I of this series); its proof of the third bullet uses only the three conditions, so the goal is posed as the implication for every such allocation, and combining it with Theorem 8 gives the printed bullet. The Nash-social-welfare bullet is not posed: it rests on Lemma 12, which initialises the algorithm with the allocation of [12], a black box not proved in the paper. Condition 3 forces and , so the denominator (computed in ) exceeds 1 and uses bundles. Agents are Fin n, 0-based.
import Mathlib import Definitions.Def_LittleCharity_MMS_Setting
namespace LittleCharity.MMS
/-- Theorem 14, p. 14, third bullet: every allocation `X` with LittleCharity.EFX.pool `P = M \ ⋃ X_i` that meets
the three conditions of Theorem 8 (EFX; nobody envies `P`; `|P|` < number of LittleCharity.EFX.sources) gives every
agent `i` at least `MMS_i(n, M)/(2 − k/n)`, where `k = |P|`. -/
theorem theorem_14 {n m : ℕ} (v : Fin n → Finset (Fin m) → ℝ) (hadd : IsAdditive v)
(X : Fin n → Finset (Fin m)) (hX : LittleCharity.EFX.IsPartialAllocation X) (hEFX : IsEFX v X)
(hpool : ∀ i, v i (LittleCharity.EFX.pool X) ≤ v i (X i))
(hsrc : (LittleCharity.EFX.pool X).card < (LittleCharity.EFX.sources v X).card) (i : Fin n) :
mms (v i) n Finset.univ / (2 - ((LittleCharity.EFX.pool X).card : ℝ) / (n : ℝ)) ≤ v i (X i) := by sorry
end LittleCharity.MMS
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.