EconCSLib.Math.FixedPoint.Scarf #
Scarf's combinatorial lemma: every coloring of a finite type admits a colorful room.
Scarf's lemma is a combinatorial fixed-point theorem that generalises Sperner's lemma
from simplicial complexes to the more abstract setting of indexed linear orders.
It is the combinatorial engine behind the proof of Brouwer's fixed-point theorem for the
standard simplex (EconCSLib.Math.FixedPoint.Brouwer).
Setup #
We work with two types:
T— a finite inhabited type whose elements play the role of vertices (or lattice points).I— a finite type whose elements play the role of coordinate directions (or colors).
An IndexedLOrder I T is a family of linear orders on T, one for each i : I.
Write x ≤[i] y for the order at index i.
A finite set σ : Finset T is dominant with respect to C : Finset I
(isDominant σ C) if every element y : T has, for some i ∈ C, a minimum in σ
that is ≤[i] y. Dominance is the key invariant: it generalises the notion of a simplex
containing a given point in its convex hull.
Key definitions #
IndexedLOrder I T— typeclass: a familyI → LinearOrder Tof linear orders onT.isDominant σ C—σdominates every point ofTusing some order fromC.isRoom σ C— dominant cell with|σ| = |C|(a "full-rank" cell).isDoor σ C— dominant cell with|C| = |σ| + 1(one surplus color).isColorful c σ C— room where the coloringc : T → Imapsσbijectively ontoC.colorful c— theFinsetof all colorful rooms(σ, C).
Main result #
Scarf— for any coloringc : T → I(with[Inhabited I]),IST.colorful cis nonempty: there exists a colorful room(σ, C).
Proof strategy #
The proof uses a parity argument on a bipartite counting set:
- Define a double-counting set
dbcountingset c ipairing each nearly-colorful room with its adjacent colorful and outside-door rooms. - Show that the number of typed nearly-colorful rooms of each type is odd
(
typed_colorful_room_odd), using an induction that tracks inside/outside doors. - Since an odd number is positive, the set of colorful rooms is nonempty.
References #
- Scarf, H. E., "The Core of an N Person Game", Econometrica 35 (1967), pp. 50–69.
- Scarf, H. E., "The Computation of Economic Equilibria", Yale University Press, 1973.
- Shapley, L. S., "On Balanced Games Without Side Payments", in Mathematical Programming (1973), pp. 261–290.
A family of linear orders on T indexed by I.
Each i : I provides a linear order IST i : LinearOrder T on the type T.
This is the abstract setting for Scarf's lemma: the index set I plays the role
of coordinate directions, and the orders encode how each direction ranks the points
of T.
- IST : I → LinearOrder T
Instances
Equations
- instFunLikeIndexedLOrderLinearOrder = { coe := fun (a : IndexedLOrder I T) => IndexedLOrder.IST, coe_injective' := ⋯ }
σ is dominant with respect to C: for every y : T there exists i ∈ C
such that every element of σ is ≥[i] y — i.e., σ contains, in the order at i,
a minimum that dominates y.
This is the key structural invariant of Scarf's lemma. It generalises the notion that a simplex vertex set "covers" a given point in its convex hull.
Equations
- IndexedLOrder.isDominant σ C = ∀ (y : T), ∃ i ∈ C, ∀ x ∈ σ, y ≤ x
Instances For
Equations
- IndexedLOrder.mini h2 i = σ.min' h2
Instances For
Alias for isDominant σ C: the cell predicate for the pair (σ, C).
Equations
Instances For
(σ, C) is a room: a dominant cell with |σ| = |C|.
In a room, the index set and the point set have the same cardinality.
Colorful rooms (where the coloring maps σ bijectively onto C) are rooms.
Equations
- IndexedLOrder.isRoom σ C = (IndexedLOrder.isCell σ C ∧ C.card = σ.card)
Instances For
(σ, C) is a door: a dominant cell with |C| = |σ| + 1.
A door has one more color than points; it is adjacent to exactly two rooms in the Scarf complex. Doors are the "walls" between rooms in the parity argument.
Equations
- IndexedLOrder.isDoor σ C = (IndexedLOrder.isCell σ C ∧ C.card = σ.card + 1)
Instances For
- idoor {T : Type u_1} {I : Type u_2} [IST : IndexedLOrder I T] [DecidableEq T] [DecidableEq I] {τ : Finset T} {D : Finset I} {σ : Finset T} {C : Finset I} (h0 : isCell σ C) (h1 : isDoor τ D) (x : T) : x ∉ τ → ∀ (h2 : insert x τ = σ) (h3 : D = C), isDoorof τ D σ C
- odoor {T : Type u_1} {I : Type u_2} [IST : IndexedLOrder I T] [DecidableEq T] [DecidableEq I] {τ : Finset T} {D : Finset I} {σ : Finset T} {C : Finset I} (h0 : isCell σ C) (h1 : isDoor τ D) (j : I) : j ∉ C → ∀ (h2 : τ = σ) (h3 : D = insert j C), isDoorof τ D σ C
Instances For
Equations
- IndexedLOrder.isOutsideDoor τ D = (IndexedLOrder.isDoor τ D ∧ τ = Finset.empty)
Instances For
Equations
- IndexedLOrder.isInternalDoor τ D = (IndexedLOrder.isDoor τ D ∧ τ.Nonempty)
Instances For
Equations
- IndexedLOrder.M_set τ D i h_nonempty = {y : T | ∀ k ∈ D, k ≠ i → IndexedLOrder.mini h_nonempty k < y}
Instances For
Equations
- IndexedLOrder.is_maximal_in_M_set τ D i h_nonempty x = (x ∈ IndexedLOrder.M_set τ D i h_nonempty ∧ ∀ y ∈ IndexedLOrder.M_set τ D i h_nonempty, y ≤ x)
Instances For
Equations
- IndexedLOrder.m_element τ D i h_nonempty h = (IndexedLOrder.M_set τ D i h_nonempty).toFinset.max' ⋯
Instances For
(σ, C) is colorful under coloring c : T → I: it is a dominant cell and
the coloring c maps σ bijectively onto C (i.e., σ.image c = C).
A colorful room is the central object of Scarf's lemma: its existence is guaranteed
for every coloring c.
Equations
- IndexedLOrder.isColorful c σ C = (IndexedLOrder.isCell σ C ∧ Finset.image c σ = C)
Instances For
(σ, C) is nearly colorful: a dominant cell where exactly one color in C
is missing from the image of c on σ.
Equations
- IndexedLOrder.isNearlyColorful c σ C = (IndexedLOrder.isCell σ C ∧ (C \ Finset.image c σ).card = 1)
Instances For
(σ, C) is a typed nearly-colorful cell of type i: a dominant cell where
i is the unique color in C missing from σ.image c.
Equations
- IndexedLOrder.isTypedNC c i σ C = (IndexedLOrder.isCell σ C ∧ C \ Finset.image c σ = {i})
Instances For
Equations
Instances For
Equations
- IndexedLOrder.NCdoors c σ C = {(τ, D) : Finset T × Finset I | IndexedLOrder.isNearlyColorful c τ D ∧ IndexedLOrder.isDoorof τ D σ C}
Instances For
Equations
- IndexedLOrder.colorful c = {x : Finset T × Finset I | IndexedLOrder.isColorful c x.1 x.2}
Instances For
Equations
- IndexedLOrder.dbcountingset c i = {x : (Finset T × Finset I) × Finset T × Finset I | IndexedLOrder.isTypedNC c i x.1.1 x.1.2 ∧ IndexedLOrder.isDoorof x.1.1 x.1.2 x.2.1 x.2.2}
Instances For
Scarf's combinatorial lemma: for any coloring c : T → I and any
IndexedLOrder I T, the set of colorful rooms is nonempty.
Proof: parity argument. For any fixed i : I, the number of typed
nearly-colorful rooms of type i that appear in dbcountingset c i is odd
(typed_colorful_room_odd). In particular it is positive, so a colorful room exists.