Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 8.1, p. 50 — trimming an (ε, δ)-WeakNash of a bipartite polymatrix game gives a (√ε(√ε + 5), δ)-Well-Supported WeakNash

Proved
RubinsteinNash.WeakNash.lemma_8_1

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

approximate-nash-equilibriump2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1polymatrix-gameweak-nash

Consider a complete bipartite polymatrix game: the players are split into two sides VAV_AVA​ and VBV_BVB​, with nA=∣VA∣n_A=|V_A|nA​=∣VA​∣ and nB=∣VB∣n_B=|V_B|nB​=∣VB​∣, and every v∈VAv\in V_Av∈VA​ and w∈VBw\in V_Bw∈VB​ play a bimatrix subgame in which vvv's payoffs lie in [0,1/nB][0,1/n_B][0,1/nB​] and www's payoffs lie in [0,1/nA][0,1/n_A][0,1/nA​]; each player's utility is the sum of its subgame payoffs. Let ϵ>0\epsilon>0ϵ>0 and let xxx be an (ϵ,δ)(\epsilon,\delta)(ϵ,δ)-WeakNash of the game: for at least a (1−δ)(1-\delta)(1−δ)-fraction of the players, the mixed strategy xvx^vxv is an ϵ\epsilonϵ-best mixed response to x−vx^{-v}x−v.

Put k=1+1/ϵk=1+1/\sqrt\epsilonk=1+1/ϵ​ and let x^\hat xx^ be the trimmed profile: for every player vvv who plays ϵ\epsilonϵ-optimally in xxx,

x^sv={xsv1−zv,Usv(x−v)≥Umax⁡v(x−v)−ϵk,0,otherwise,\hat x^v_s=\begin{cases}\dfrac{x^v_s}{1-z^v}, & U^v_s(x^{-v})\ge U^v_{\max}(x^{-v})-\epsilon k,\\[4pt] 0, & \text{otherwise,}\end{cases}x^sv​=⎩⎨⎧​1−zvxsv​​,0,​Usv​(x−v)≥Umaxv​(x−v)−ϵk,otherwise,​

where zvz^vzv is the probability xvx^vxv puts on actions more than ϵk\epsilon kϵk below the optimum, and every other player keeps x^v=xv\hat x^v=x^vx^v=xv. Then

x^ is a (ϵ⋅(ϵ+5), δ)-Well-Supported WeakNash.\hat x\ \text{is a}\ \bigl(\sqrt\epsilon\cdot(\sqrt\epsilon+5),\ \delta\bigr)\text{-Well-Supported WeakNash}.x^ is a (ϵ​⋅(ϵ​+5), δ)-Well-Supported WeakNash.

The lemma converts the (mixed-response) WeakNash notion, for which the paper proves hardness, into the support notion needed by the reduction to two-player games in Section 8.2, losing only a square-root in the approximation.

Formalization Note. The paper says the well-supported WeakNash "can be constructed in polynomial time"; the running-time clause is not formalized. What is stated is that the specific profile x^\hat xx^ computed from xxx by the proof's explicit formula has the property; the bare existence of some well-supported WeakNash would follow from Nash's theorem without using xxx. The hypothesis ϵ>0\epsilon>0ϵ>0 is added: k=1+1/ϵk=1+1/\sqrt\epsilonk=1+1/ϵ​ needs it. The payoff range [0,1/nB][0,1/n_B][0,1/nB​] is that of the vertices of VAV_AVA​ (which have nBn_BnB​ neighbours) and [0,1/nA][0,1/n_A][0,1/nA​] that of VBV_BVB​. Players who are not ϵ\epsilonϵ-optimal in xxx keep their strategy in x^\hat xx^, since the page defines x^v\hat x^vx^v only for the ϵ\epsilonϵ-optimal ones.

Preamble
import Mathlib
import Definitions.Def_agt_games
import Definitions.Def_DGPNash_NashMap_nashMap
import Definitions.Def_DGPNash_WellSupported_Equilibria
import Definitions.Def_RubinsteinNash_WeakNash_ApproxEquilibria
import Definitions.Def_RubinsteinNash_WeakNash_Polymatrix
Formal statement
namespace RubinsteinNash.WeakNash

theorem lemma_8_1 {VA VB : Type*} [Fintype VA] [DecidableEq VA]
    [Fintype VB] [DecidableEq VB]
    {S : VA ⊕ VB → Type*} [∀ i, Fintype (S i)] [∀ i, DecidableEq (S i)]
    (PA : (v : VA) → (w : VB) → S (Sum.inl v) → S (Sum.inr w) → ℝ)
    (PB : (w : VB) → (v : VA) → S (Sum.inr w) → S (Sum.inl v) → ℝ)
    (hPA : ∀ v w a b, 0 ≤ PA v w a b ∧ PA v w a b ≤ 1 / (Fintype.card VB : ℝ))
    (hPB : ∀ w v b a, 0 ≤ PB w v b a ∧ PB w v b a ≤ 1 / (Fintype.card VA : ℝ))
    (x : ∀ i, S i → ℝ) (ε δ : ℝ) (hε : 0 < ε)
    (hx : IsWeakNash (bipartitePolymatrixPayoff PA PB) x ε δ) :
    IsWellSupportedWeakNash (bipartitePolymatrixPayoff PA PB)
      (weakTrim (bipartitePolymatrixPayoff PA PB) x ε (1 + 1 / Real.sqrt ε))
      (Real.sqrt ε * (Real.sqrt ε + 5)) δ := by sorry

end RubinsteinNash.WeakNash
Source
Rubinstein, arXiv:1606.04550 (version dated August 26, 2016), Lemma 8.1, §8.1, p. 50 (proof pp. 50–51)
Human review
  • Endorsed by Shuze Chen · Oct 9, 2026

    Confirmed by the moderator at approval.

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