Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 5.9 — the rounding mechanism is truthful and yields a (1+ε)(1+\varepsilon)(1+ε)-approximation

Proved
AlgMechDesign.Rounding.rounding_mechanism_truthful_approx

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

approximation-algorithmsmechanism-designmechanisms-with-verificationp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1scheduling

Let 0<a<b0 < a < b0<a<b bound the task times, let ε>0\varepsilon > 0ε>0, let 0<δ≤εa0 < \delta \le \varepsilon a0<δ≤εa be the rounding step, and let x(⋅)x(\cdot)x(⋅) be any allocation algorithm that, on declarations in [a,b][a,b][a,b], exactly solves the problem with declarations rounded up to multiples of δ\deltaδ (ties arbitrary). Consider the rounding mechanism with verification: allocation x(d)x(d)x(d), payment pi=ci+bip^i = c^i + b^ipi=ci+bi with compensation ci=∑j∈xi(d)t~jc^i = \sum_{j\in x^i(d)} \tilde t_jci=∑j∈xi(d)​t~j​ and bonus bi=−g^(x(d),corri(x(d),d,t~))b^i = -\hat g(x(d), \mathrm{corr}^i(x(d), d, \tilde t))bi=−g^​(x(d),corri(x(d),d,t~)). Then:

  1. Truthfulness. For every agent iii and true type ti∈[a,b]kt^i \in [a,b]^kti∈[a,b]k some strategy declaring tit^iti is dominant.
  2. Approximation. For every true type vector t∈[a,b]n×kt \in [a,b]^{n\times k}t∈[a,b]n×k and every strategy profile in which each agent's strategy is dominant for its true type and belongs to the class named in the proof (declaration with the same rounded value as the true type; executions whose rounded times equal the rounded true times), the outcome x=x(d)x = x(d)x=x(d) with actual times t~\tilde tt~ satisfies
g(x,t~)≤(1+ε) g(y,t)for every allocation y.g(x,\tilde t) \le (1+\varepsilon)\, g(y,t) \quad\text{for every allocation } y.g(x,t~)≤(1+ε)g(y,t)for every allocation y.

This is Theorem 5.9 of Nisan and Ronen with the running-time claim removed: an approximation algorithm, rather than an exact optimizer, can be made truthful once the mechanism can verify execution times.

Formalization Note "Polynomial time" is not formalized; the Horowitz–Sahni algorithm enters only through its specification (it solves the rounded problem exactly), which is how Definition 34 uses it. The statement is for every δ∈(0,εa]\delta \in (0,\varepsilon a]δ∈(0,εa], covering the intended δ=εa\delta = \varepsilon aδ=εa; bbb is kept as part of the bounded problem but plays no role once running time is dropped. Definition 3 asks for the specification at every profile of dominant strategies; part 2 restricts to dominant profiles of the class the paper's proof claims to be the only dominant strategies. The restriction is necessary: with n=2n=2n=2, k=1k=1k=1, a=1a=1a=1, b=2b=2b=2, ε=δ=1/4\varepsilon=\delta=1/4ε=δ=1/4, true times (1.01,1.5)(1.01, 1.5)(1.01,1.5) and the allocation that gives the task to agent 111 unless agent 222's rounded declaration is strictly smaller, the declarations (1.5,1.25)(1.5, 1.25)(1.5,1.25) with minimal execution are both dominant, yet the task goes to agent 222 and the make-span 1.51.51.5 exceeds (1+ε)⋅1.01(1+\varepsilon)\cdot 1.01(1+ε)⋅1.01.

Preamble
import Mathlib
import Definitions.Def_AlgMechDesign_Rounding_Model
import Definitions.Def_AlgMechDesign_Rounding_Mechanism
Formal statement
namespace AlgMechDesign.Rounding

/-- Theorem 5.9 (p. 193), without running time: for every fixed `ε > 0`, every rounding step
`0 < δ ≤ ε a` and every allocation algorithm that exactly solves the rounded problem (ties
arbitrary), the rounding mechanism with verification for the bounded task scheduling problem
(times in `[a, b]`, `0 < a < b`) is truthful, and whenever every agent plays a strategy of the
class the proof names (declare a type with the same rounded value as the true type, execute so that
rounded actual times equal rounded true times), the outcome's make-span with actual times is at
most `1 + ε` times the optimal make-span for the true types. -/
theorem rounding_mechanism_truthful_approx {n k : ℕ} [NeZero n] (a b ε δ : ℝ) (ha : 0 < a)
    (hab : a < b) (hε : 0 < ε) (hδ : 0 < δ) (hδε : δ ≤ ε * a)
    (alloc : (Fin n → Fin k → ℝ) → (Fin k → Fin n)) (halloc : IsRoundedOptimal a b δ alloc) :
    Truthful a b alloc (roundingPay δ alloc) ∧
    ∀ t : Fin n → Fin k → ℝ, IsBoundedType a b t →
      ∀ (D : Fin n → Fin k → ℝ) (E : Fin n → ExecPlan n k),
        (∀ l : Fin n, Dominant a b alloc (roundingPay δ alloc) l (t l) (D l) (E l)) →
        (∀ l : Fin n, RoundsLikeTruth δ l (t l) (D l) (E l)) →
          ∀ y : Fin k → Fin n,
            gT (alloc D) (actualTimes alloc D E) ≤ (1 + ε) * makespan t y := by sorry

end AlgMechDesign.Rounding
Source
Nisan, Ronen, Algorithmic Mechanism Design, Games Econ. Behav. 35, 2001, p. 193, Theorem 5.9 and its proof (sketch); p. 172, Definition 3; p. 186, Definition 19; p. 193, Definition 34
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 1, 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