Zero-sum games: optimal strategies form a Nash equilibrium
ProvedAGT.zero_sum_minimaxEvery finite two-person zero-sum game has optimal mixed strategies, and they form a Nash equilibrium of the game. Let be a real payoff matrix: the row player picks a probability vector over rows, the column player a probability vector over columns, and the column player pays the row player in expectation. Then there exist probability vectors such that
- for every probability vector over rows, — against , the row player cannot do better than ;
- for every probability vector over columns, — against , the column player cannot pay less than under ;
- the pair is a mixed Nash equilibrium (in the sense of the
IsMixedNashpredicate of this mission) of the explicit two-player game in which the row player's payoff on the pure profile is and the column player's is — the payoffs summing to zero is precisely the zero-sum condition, here formal rather than implicit in the shape of the statement.
Consequently the game has a value and (von Neumann, 1928). This is Theorem 1.11 of Algorithmic Game Theory, which obtains the pair as the optimal solutions of a dual pair of linear programs.
A note on the rendering. The book's statement — "optimum solutions of the linear programs give distributions that form a Nash equilibrium of the two-person zero-sum game" — is rendered without committing to an LP encoding: conclusions 1–2 are the saddle point that LP optimality amounts to, and conclusion 3 is the Nash-equilibrium clause, stated against the series' game vocabulary so that "zero-sum game" has a formal referent. The dimensions , keep both strategy sets nonempty; over an empty strategy set there are no probability vectors and no equilibrium.
import Definitions.Def_agt_games import Mathlib.Analysis.Convex.StdSimplex
namespace AGT
/-- **Theorem 1.11 of *Algorithmic Game Theory***. A finite two-person
zero-sum game, given by a payoff matrix `A` (the amount the column player
pays the row player), has optimal mixed strategies: mixed strategies `p` for
the row player and `q` for the column player forming a saddle point — `p`
maximizes the expected payment against `q`, and `q` minimizes it against
`p` — and the pair `(p, q)` is a mixed Nash equilibrium of the two-player
game in which the row player's payoff is `A x y` and the column player's is
`-A x y`. Consequently the game has a value; the book obtains the pair as
the optimal solutions of a dual pair of linear programs.
The strategy sets are `Fin (m + 1)` and `Fin (n + 1)` so that both players
have at least one strategy; over an empty strategy set `stdSimplex` is empty
and no saddle point exists. -/
theorem zero_sum_minimax {m n : ℕ} (A : Matrix (Fin (m + 1)) (Fin (n + 1)) ℝ) :
∃ p ∈ stdSimplex ℝ (Fin (m + 1)), ∃ q ∈ stdSimplex ℝ (Fin (n + 1)),
(∀ p' ∈ stdSimplex ℝ (Fin (m + 1)),
p' ⬝ᵥ A.mulVec q ≤ p ⬝ᵥ A.mulVec q) ∧
(∀ q' ∈ stdSimplex ℝ (Fin (n + 1)),
p ⬝ᵥ A.mulVec q ≤ p ⬝ᵥ A.mulVec q') ∧
IsMixedNash (zeroSumPayoff A) (matrixGameProfile p q) := by
sorry
end AGTRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: zero_sum_minimax
For every pair of natural numbers (so the index sets below have sizes and ; the degenerate cases are matrices, never empty ones) and every real matrix with rows indexed by and columns indexed by , the theorem asserts the existence of a vector and a vector , where
is the standard probability simplex (this is the literal content of membership in stdSimplex ℝ (Fin k)), such that the following three statements hold. Throughout, the expression written p ⬝ᵥ A.mulVec q unfolds to the bilinear form
First conjunct. For every ,
i.e. against this fixed , no distribution over rows achieves a strictly larger value of than does (a non-strict maximality of ).
Second conjunct. For every ,
i.e. against this fixed , no distribution over columns achieves a strictly smaller value of than does (a non-strict minimality of ).
Third conjunct. The pair , packaged as a strategy profile, satisfies a custom mixed-Nash-equilibrium predicate for a specific two-player game, defined as follows.
The game. The set of players is the two-element type of Booleans, . Player 's pure-strategy set is (the row indices of ); player 's pure-strategy set is (the column indices). Given a pure profile assigning row and column , the payoff function (zeroSumPayoff A) gives player the payoff and player the payoff ; so the two payoffs sum to zero at every pure profile, with read as the payoff matrix of the row player .
The profile. The profile claimed to be an equilibrium (matrixGameProfile p q) assigns to player the weight function on rows and to player the weight function on columns — exactly the from the existential quantifiers above.
The equilibrium predicate. IsMixedNash for this game demands the conjunction of:
-
Each player's assigned weight function is a lottery: for all with , and for all with . (This duplicates the simplex-membership conditions already imposed on and .)
-
For each player and every lottery over that player's own pure-strategy set (nonnegative weights summing to ), the expected payoff to player under the profile in which 's strategy is replaced by (the other player's strategy left unchanged) is at most the expected payoff to under the original profile. Here expected payoff to player under a profile means the sum over all pure profiles , , , of the product of the profile's weights times 's payoff:
where and . Note that this formula is applied as written even when the deviating weight function replaces one factor — the weights need not come from the equilibrium profile.
Concretely, unfolding the expected payoffs, condition 2 says: for every lottery on , (no unilateral deviation improves the row player's expected payoff), and for every lottery on , , equivalently (no unilateral deviation improves the column player's expected payoff, whose payoff is the negation).
All inequalities in the statement are non-strict (). The theorem claims existence only (, not unique existence); nothing is asserted about the value itself (e.g. no minimax/maximin equality is stated explicitly), and nothing constrains beyond having real entries and the stated dimensions.
Confirmed by the mission captain (proposal self-audit).