Claim 5.7 — under truthfulness, putting ∞ outside an agent's optimal tasks does not lower the chosen make-span
ProvedAlgMechDesign.NonOptimal.claim_5_7Let be an allocation algorithm for task scheduling such that the Compensation-and-Bonus mechanism based on is truthful. Let be a positive type vector, an optimal allocation for (written in the paper), and a real number with for all agents and tasks . Fix an agent and let
and let be the type vector in which only agent 's type is replaced. Then
This is the claim inside the proof of Theorem 5.6. Its content is an incentive argument: if the inequality failed, an agent of true type would profit from declaring (a lie the mechanism cannot detect), since its bonus is the negative make-span computed from its own actual times and the others' declarations. Iterating it over the agents gives Corollary 5.8.
Formalization Note The paper states the claim for agent 1; here it is stated for an arbitrary agent , which is what the iteration in Corollary 5.8 uses. The paper's " (an arbitrary high value)" is the real parameter , required to be at least every entry of so that entrywise. Truthfulness is in the sense of Definition 19 for mechanisms with verification (declaration plus execution plan).
import Mathlib import Definitions.Def_AlgMechDesign_NonOptimal_Model open Finset
namespace AlgMechDesign.NonOptimal
/-- Claim 5.7 (Nisan–Ronen, p. 192). If the Compensation-and-Bonus mechanism based on `alloc` is
truthful, `t` is a positive type vector, `o` an optimal allocation for `t` and `M` at least every
entry of `t`, then replacing agent `i`'s type by `offOpt t o M i` (`tⁱ_j` on `oⁱ`, `M`
elsewhere) does not decrease the make-span of the allocation chosen by `alloc`. -/
theorem claim_5_7 {n k : ℕ} [NeZero n] (alloc : (Fin n → Fin k → ℝ) → (Fin k → Fin n))
(htruth : Truthful alloc) (t : Fin n → Fin k → ℝ) (ht : IsType t) (o : Fin k → Fin n)
(ho : IsOptimalFor t o) (M : ℝ) (hM : ∀ i j, t i j ≤ M) (i : Fin n) :
makespan t (alloc t) ≤
makespan (Function.update t i (offOpt t o M i))
(alloc (Function.update t i (offOpt t o M i))) := by sorry
end AlgMechDesign.NonOptimal
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.