Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 1, proof — summing over players: SUM(A)≤∑ene(P)fe(ne(A)+1)\mathrm{SUM}(A) \le \sum_{e} n_e(P) f_e(n_e(A)+1)SUM(A)≤∑e​ne​(P)fe​(ne​(A)+1)

Proved
CongestionPoA.AsymSum.sum_cost_bound

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

congestion-gamenash-equilibriump2o-batch-pfp1ap2o-gran-per-chapterp2o-plan-paperp2o-v1price-of-anarchy

Let GGG be a congestion game with linear latencies fe(k)=aek+bef_e(k)=a_ek+b_efe​(k)=ae​k+be​, ae,be≥0a_e,b_e\ge0ae​,be​≥0, let AAA be a pure Nash equilibrium of GGG, and let PPP be any pure strategy profile. Then

SUM(A)=∑i∈Nci(A)  ≤  ∑i∈N∑e∈Pife(ne(A)+1)  =  ∑e∈Ene(P) fe(ne(A)+1).\mathrm{SUM}(A)=\sum_{i\in N}c_i(A)\;\le\;\sum_{i\in N}\sum_{e\in P_i}f_e\bigl(n_e(A)+1\bigr)\;=\;\sum_{e\in E}n_e(P)\,f_e\bigl(n_e(A)+1\bigr).SUM(A)=i∈N∑​ci​(A)≤i∈N∑​e∈Pi​∑​fe​(ne​(A)+1)=e∈E∑​ne​(P)fe​(ne​(A)+1).

The inequality sums the deviation inequality over all players; the equality regroups the double sum by facilities, each facility eee appearing once for each of the ne(P)n_e(P)ne​(P) players that use it in PPP. Lemma 1 then bounds the right-hand side, completing the proof of Theorem 1.

Formalization Note The paper writes this chain for the identity latency fe(k)=kf_e(k)=kfe​(k)=k, as SUM(A)≤∑i∈N∑e∈Pi(ne(A)+1)=∑e∈Ene(P)(ne(A)+1)\mathrm{SUM}(A)\le\sum_{i\in N}\sum_{e\in P_i}(n_e(A)+1)=\sum_{e\in E}n_e(P)(n_e(A)+1)SUM(A)≤∑i∈N​∑e∈Pi​​(ne​(A)+1)=∑e∈E​ne​(P)(ne​(A)+1), and states that its proofs extend to general linear latencies; the statement here is that general case.

Preamble
import Mathlib
import Definitions.Def_CongestionPoA_AsymSum_Model
Formal statement
namespace CongestionPoA.AsymSum

/-- Christodoulou and Koutsoupias, *The Price of Anarchy of Finite Congestion Games*, STOC 2005,
PDF p. 3, unnumbered step of the proof of Theorem 1 (summing over the players): at a pure Nash
equilibrium `A` of a linear congestion game, for any pure strategy profile `P`,
`SUM(A) = Σ_{i∈N} cᵢ(A) ≤ Σ_{i∈N} Σ_{e∈Pᵢ} f_e(n_e(A) + 1) = Σ_{e∈E} n_e(P) f_e(n_e(A) + 1)`.

**Formalization Note.** The paper prints this chain for the identity latency `f_e(k) = k`, as
`SUM(A) ≤ Σ_{i∈N} Σ_{e∈Pᵢ} (n_e(A) + 1) = Σ_{e∈E} n_e(P)(n_e(A) + 1)`, and says (Sect. 2, §1.1) that its
proofs extend to the general linear case `f_e(k) = a_e k + b_e`, `a_e, b_e ≥ 0`; the statement here is
that general case. -/
theorem sum_cost_bound {ι E : Type*} [Fintype ι] [DecidableEq ι] [Fintype E] [DecidableEq E]
    (G : CongestionGame ι E) (A P : ι → Finset E)
    (hlin : IsLinear G) (hA : IsPureNash G A) (hP : IsProfile G P) :
    sumCost G A ≤ ∑ i, ∑ e ∈ P i, G.latency e (load A e + 1) ∧
      ∑ i, ∑ e ∈ P i, G.latency e (load A e + 1) =
        ∑ e, (load P e : ℝ) * G.latency e (load A e + 1) := by sorry

end CongestionPoA.AsymSum
Source
Christodoulou and Koutsoupias, The Price of Anarchy of Finite Congestion Games, STOC 2005, DOI 10.1145/1060590.1060600, PDF p. 3, Theorem 1, proof (sum over all players)
Human review
  • Endorsed by Shuze Chen · Oct 4, 2026

    Confirmed by the moderator at approval.

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