Sec. 3.3, proof of the Lemma — core payoffs are tight on an optimal assignment and zero off it
ProvedAssignmentGame.CoreCorners.core_tight_on_optimal_matchingLet (sellers) and (buyers) be finite sets and . Let be an optimal assignment: a matching (no seller and no buyer in two pairs of ) whose total gain equals the worth of the all-player coalition,
Then every core vector satisfies
- for every pair ;
- for every seller not assigned by ;
- for every buyer not assigned by .
This is the step of the proof of the Lemma (p. 121) where, after labelling the optimal assignment as , the authors use for and for . It is what turns the lattice operations of the Lemma into core vectors that exhaust .
import Mathlib import Definitions.Def_AssignmentGame_CoreCorners_Game open Finset
namespace AssignmentGame.CoreCorners
/-- Sec. 3.3, proof of the Lemma, p. 121: on an optimal assignment `P` every core vector splits
each `a i j`, `(i, j) ∈ P`, exactly between the two partners, and pays zero to every player not
assigned by `P`. -/
theorem core_tight_on_optimal_matching {M N : Type*} [Fintype M] [Fintype N]
(a : M → N → ℝ) (ha : ∀ i j, 0 ≤ a i j)
(P : Finset (M × N)) (hP : IsMatching Finset.univ Finset.univ P)
(hopt : ∑ p ∈ P, a p.1 p.2 = worth a Finset.univ Finset.univ)
(u : M → ℝ) (v : N → ℝ) (huv : (u, v) ∈ core a) :
(∀ p ∈ P, u p.1 + v p.2 = a p.1 p.2) ∧
(∀ i : M, (∀ p ∈ P, p.1 ≠ i) → u i = 0) ∧
(∀ j : N, (∀ p ∈ P, p.2 ≠ j) → v j = 0) := by sorry
end AssignmentGame.CoreCorners
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
This theorem takes the following data:
- arbitrary finite types (sellers) and (buyers);
- a real matrix with for all ;
- a finite set that is a matching in the full player sets, meaning no seller and no buyer appears in two distinct pairs, though not everyone has to be matched;
- the optimality condition
where is the largest such sum over all partial matchings in , with the empty matching allowed;
- a pair with and that lies in .
Membership in the core means both of the following:
and
where is the maximal matching value using only sellers in and buyers in .
The conclusion is the conjunction of three statements:
- for every .
- for every seller that appears in no pair of .
- for every buyer that appears in no pair of .
Degenerate cases:
- empty. must be empty, so part 1 is vacuous and part 3 says . The symmetric statement holds when is empty.
- Zero-valued pairs in . may contain a pair with . Part 1 then forces for that pair.
- Empty . is allowed whenever , for example when . The theorem then asserts that every core vector is identically zero.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.