The Gibbard-Satterthwaite theorem
ProvedAGT.gibbard_satterthwaiteEvery incentive compatible voting rule onto three or more alternatives is a dictatorship — the Gibbard–Satterthwaite theorem (Theorem 9.8 of Algorithmic Game Theory), and this mission's goal. Let have more than two alternatives, finitely many voters, and let be a social choice function that is incentive compatible — no voter can move the outcome to one they strictly prefer by misreporting — and onto — every alternative is elected on some profile. Then is a dictatorship: some voter is such that whenever an alternative is 's unique top choice, elects it.
A note on the hypotheses. Ontoness is essential, as the book stresses — without it the bound on has no bite (an incentive compatible function into a fixed pair of alternatives need not have a dictator). No nonemptiness of the voter set is assumed: with zero voters an onto function onto three or more alternatives cannot exist, so the statement holds vacuously, and adding the hypothesis would only weaken the theorem. The book derives the result from Arrow's theorem through the top-set extension (Definition 9.9, Lemmas 9.10–9.11); the formal statement fixes no proof route.
import Definitions.Def_agt_social
namespace AGT
/-- **Theorem 9.8 of *Algorithmic Game Theory* (Gibbard–Satterthwaite)**,
the capstone of the mission: every incentive compatible social choice
function onto more than two alternatives is a dictatorship.
The ontoness requirement is essential — without it the bound on `|A|` has no
bite (a function into a fixed pair of alternatives can be incentive
compatible without any dictator). No `Nonempty ι` hypothesis is needed:
with no voters an onto function onto three or more alternatives cannot
exist, so the statement holds vacuously. -/
theorem gibbard_satterthwaite {A ι : Type*} [Fintype A] [Fintype ι]
[DecidableEq ι] (hA : 2 < Fintype.card A)
(f : (ι → A → A → Prop) → A) (hic : IncentiveCompatible f)
(honto : SCFOnto f) :
∃ i : ι, SCFDictator f i := by
sorry
end AGTRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: gibbard_satterthwaite
Setting
Let and be arbitrary types, both assumed finite (each carries a Fintype instance), with equality on decidable. Elements of play the role of alternatives; elements of play the role of voters. There is one explicit cardinality hypothesis:
i.e. has at least three elements. No cardinality assumption is made on : the statement's hypotheses admit empty, a single voter, or any finite number of voters.
A ballot is any binary relation on (a function , i.e. an arbitrary relation — not a priori an order of any kind). A profile is any function assigning to each voter a relation on . Write for the statement that the relation holds of the pair ; the code attaches no intrinsic meaning ("prefers", "above") to this — it is just a binary relation.
The predicate " is a preference profile" (IsPrefProfile P) unfolds to: for every voter , the relation is a strict total order on , where "strict total order" is Mathlib's IsStrictTotalOrder: is irreflexive ( for all ), transitive, and trichotomous (for all : or or ).
The object under study is a function
defined on all functions — including profiles whose component relations are not strict total orders, or are not orders at all. The hypotheses below constrain only on (or via) profiles built from strict total orders; on arbitrary relation-profiles may take any value.
For a profile , a voter , and a relation , write for the profile that agrees with at every voter except , where it is (this is Function.update). When is a preference profile and is a strict total order, is again a preference profile, though the statement never needs to say so explicitly.
Hypotheses on
Hypothesis 1 — IncentiveCompatible f, unfolded: for every profile such that every is a strict total order, for every voter , and for every relation on that is itself a strict total order,
In words: the relation (voter 's relation in the original profile) does not hold of the pair whose first component is the outcome of on the deviated profile and whose second component is the outcome of on the original profile . Note the precise shape: this is a plain negation, quantified only over deviations that are strict total orders (deviations to non-order relations are unconstrained), and it constrains the pair in one direction only — nothing is asserted about beyond what trichotomy of would give. In particular, taking the hypothesis yields , which is automatic from irreflexivity.
Hypothesis 2 — SCFOnto f, unfolded: for every alternative there exists a profile such that every is a strict total order and . That is, attains every element of already on preference profiles (attaining values on non-order profiles does not count toward this hypothesis).
Conclusion
There exists a voter such that SCFDictator f i holds, which unfolds to: for every profile in which every voter's relation is a strict total order, and for every alternative ,
In words: whenever alternative is -related to every other alternative — i.e. is the (necessarily unique, by irreflexivity) element that relation places above all others, which for a strict total order on a nonempty finite always exists — the outcome is . Note this dictatorship notion says nothing directly about pairwise comparisons or about profiles that are not preference profiles; it is stated purely as an implication, one profile at a time, from " dominates everything else under " to " selects ". The existential is a plain , not unique existence: nothing asserts the dictator is unique.
Edge cases the quantifiers silently include
- Zero voters.
Fintype ιpermits . Then there is exactly one profile (the empty function), it is vacuously a preference profile, and incentive compatibility is vacuously true. But ontoness then demands that a single value equal every one of the alternatives, which is impossible; so with zero voters the hypotheses are contradictory and the conclusion (which would otherwise be false) holds vacuously. The theorem therefore implicitly asserts that its hypotheses force to be nonempty. - One voter. is allowed and non-degenerate: the claim then says that single voter is a dictator.
- exactly is allowed ( is strict); is excluded by hypothesis, and empty or a singleton is likewise excluded.
- Totality of . Since is total on all relation-profiles, its values on "junk" inputs (non-order relations) exist but are never constrained or consulted by any hypothesis or by the conclusion.
- All three properties — incentive compatibility, ontoness, dictatorship — quantify only over profiles of strict total orders; ties/indifference are not representable within the constrained inputs, and no hypothesis mentions them.
Confirmed by the mission captain (proposal self-audit).