Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Corollary 2.8 — with polynomial latencies of degree ppp and nonnegative coefficients, ρ(G,r,ℓ)≤p+1\rho(G,r,\ell)\le p+1ρ(G,r,ℓ)≤p+1

Proved
SelfishRouting.Potential.corollary_2_8

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

p2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1polynomialprice-of-anarchyselfish-routing

Consider a routing instance whose routes are given by 0/10/10/1 edge–route incidence columns, each serving one commodity iii with positive rate rir_iri​, and whose latency functions are polynomials

ℓe(x)=∑i=0pae,i xi\ell_e(x)=\sum_{i=0}^{p}a_{e,i}\,x^iℓe​(x)=i=0∑p​ae,i​xi

for a positive integer ppp and nonnegative reals ae,ia_{e,i}ae,i​ (0≤i≤p0\le i\le p0≤i≤p). Write C(f)=∑PℓP(f)fPC(f)=\sum_P\ell_P(f)f_PC(f)=∑P​ℓP​(f)fP​ for the cost of a flow.

Corollary 2.8. If fff is a flow at Nash equilibrium (Definition 2.1) and f∗f^*f∗ is any feasible flow, then

C(f)≤(p+1) C(f∗).C(f)\le(p+1)\,C(f^*).C(f)≤(p+1)C(f∗).

Equivalently, ρ(G,r,ℓ)≤p+1\rho(G,r,\ell)\le p+1ρ(G,r,ℓ)≤p+1: selfish routing costs at most p+1p+1p+1 times the optimum. For linear latencies (p=1p=1p=1) this gives the factor 222, later improved to 4/34/34/3 in §4 of the paper.

Formalization Note The paper's ρ(G,r,ℓ)=C(f)/C(f∗)≤p+1\rho(G,r,\ell)=C(f)/C(f^*)\le p+1ρ(G,r,ℓ)=C(f)/C(f∗)≤p+1, with f∗f^*f∗ optimal, is stated as an inequality against every feasible flow, which is equivalent once an optimal flow exists and avoids dividing by a cost that may be 000. The degree ppp is a common upper bound: ae,p=0a_{e,p}=0ae,p​=0 is allowed. Coefficients are required nonnegative only for i≤pi\le pi≤p, the ones that occur. Polynomials with nonnegative coefficients are nonnegative, nondecreasing and continuous on [0,∞)[0,\infty)[0,∞), so no other latency hypothesis is needed. Routes are 0/10/10/1 incidence columns, a generalization of the simple paths of a graph.

Preamble
import Mathlib
import Definitions.Def_KellyStochasticNetworks_Wardrop
import Definitions.Def_SelfishRouting_Potential_Model
import Definitions.Def_SelfishRouting_Potential_PolyLatency

open KellyStochasticNetworks
Formal statement
namespace SelfishRouting.Potential

theorem corollary_2_8 {J R Sd : ℕ} (A : Fin J → Fin R → ℝ) (s : Fin R → Fin Sd)
    (rate : Fin Sd → ℝ)
    (hA : ∀ j r, A j r = 0 ∨ A j r = 1) (hrate : ∀ i, 0 < rate i)
    (p : ℕ) (hp : 0 < p) (a : Fin J → ℕ → ℝ) (ha : ∀ j i, i ≤ p → 0 ≤ a j i)
    (x y : Fin R → ℝ) (hx : IsNashFlow A s (polyLatency p a) rate x)
    (hy : y ∈ wardropFeasible s rate) :
    SelfishRouting.Bicriteria.cost A (polyLatency p a) x ≤ ((p : ℝ) + 1) * SelfishRouting.Bicriteria.cost A (polyLatency p a) y := by sorry

end SelfishRouting.Potential
Source
Roughgarden & Tardos, How Bad is Selfish Routing?, J. ACM 49(2) (2002), author's manuscript of 5 Dec 2001, p. 11, Corollary 2.8
Human review
  • Endorsed by Shuze Chen · Oct 7, 2026

    Confirmed by the moderator at approval.

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