Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Incentive compatibility is equivalent to monotonicity

Proved
AGT.ic_iff_monotone

by Shuze Chen · Sep 12, 2026 · Mathlib c5ea003 (Lean v4.30.0)

game-theorymechanism-designsocial-choice

A social choice function is incentive compatible if and only if it is monotone (Proposition 9.6 of Algorithmic Game Theory). Incentive compatibility says no voter can move the outcome to one they strictly prefer (under their true preference) by misreporting; monotonicity says that when a single voter's change of vote moves the outcome from aaa to a′≠aa' \ne aa′=a, that voter ranked aaa above a′a'a′ in the old vote and a′a'a′ above aaa in the new one. The two properties quantify over the same data — a profile, a voter, an alternate vote — and the book calls the equivalence "a more combinatorial point of view" of strategyproofness.

A note on the rendering. No finiteness, cardinality, or nonemptiness assumptions appear: the equivalence is pure quantifier rearrangement and holds for arbitrary sets of voters and alternatives.

Preamble
import Definitions.Def_agt_social
Formal statement
namespace AGT

/-- **Proposition 9.6 of *Algorithmic Game Theory***: a social choice
function is incentive compatible if and only if it is monotone.  The two
notions quantify over the same data — a profile, a voter, and an alternate
vote — and the proposition is the book's "combinatorial point of view" on
strategyproofness; no finiteness or cardinality assumptions are needed. -/
theorem ic_iff_monotone {A ι : Type*} [DecidableEq ι]
    (f : (ι → A → A → Prop) → A) :
    IncentiveCompatible f ↔ SCFMonotone f := by
  sorry

end AGT
Source
N. Nisan, T. Roughgarden, E. Tardos, V. V. Vazirani (eds.), Algorithmic Game Theory, Cambridge University Press 2007, https://doi.org/10.1017/CBO9780511800481, Section 9.2.4, Proposition 9.6, p. 213
Read-back

What the Lean code literally says, in plain math · claude-fable-5

Read-back: ic_iff_monotone

Setting. Let AAA and ι\iotaι be arbitrary types (AAA the "alternatives", ι\iotaι the "individuals"), with equality on ι\iotaι decidable. A profile is a family PPP assigning to each i∈ιi \in \iotai∈ι a binary relation PiP_iPi​ on AAA; the profile is called admissible (the bundle's IsPrefProfile) when every PiP_iPi​ is a strict total order on AAA, i.e. irreflexive, transitive, and trichotomous (for all x,yx, yx,y: Pi x yP_i\,x\,yPi​xy, or x=yx = yx=y, or Pi y xP_i\,y\,xPi​yx). For a profile PPP, an individual iii, and a relation r′r'r′, write P[i↦r′]P[i \mapsto r']P[i↦r′] for the profile that agrees with PPP at every coordinate except iii, where it is r′r'r′.

The theorem. For every function fff mapping profiles (arbitrary families of binary relations on AAA, admissible or not) to single alternatives in AAA, the following two properties of fff are equivalent (a genuine biconditional — each side implies the other):

Left side (IncentiveCompatible f). For every admissible profile PPP, every individual iii, and every strict total order r′r'r′ on AAA: it is not the case that the relation PiP_iPi​ holds of the pair

¬ Pi(f(P[i↦r′]), f(P)),\neg\, P_i\big(f(P[i \mapsto r']),\ f(P)\big),¬Pi​(f(P[i↦r′]), f(P)),

that is, PiP_iPi​ does not relate the outcome of the modified profile (first argument) to the outcome of the original profile (second argument). Only the truthful relation PiP_iPi​ appears in the conclusion; r′r'r′ enters only through the modified profile.

Right side (SCFMonotone f). For every admissible profile PPP, every individual iii, and every strict total order r′r'r′ on AAA: if the two outcomes differ, f(P)≠f(P[i↦r′])f(P) \neq f(P[i \mapsto r'])f(P)=f(P[i↦r′]), then both of the following hold:

Pi(f(P), f(P[i↦r′]))andr′(f(P[i↦r′]), f(P)),P_i\big(f(P),\ f(P[i \mapsto r'])\big) \quad\text{and}\quad r'\big(f(P[i \mapsto r']),\ f(P)\big),Pi​(f(P), f(P[i↦r′]))andr′(f(P[i↦r′]), f(P)),

i.e. the original relation PiP_iPi​ relates the original outcome (first argument) to the modified outcome (second argument), and the replacement relation r′r'r′ relates the modified outcome (first argument) to the original outcome (second argument) — the two conclusions point in opposite orientations. When f(P)=f(P[i↦r′])f(P) = f(P[i \mapsto r'])f(P)=f(P[i↦r′]) this side imposes no condition at all for that (P,i,r′)(P, i, r')(P,i,r′).

Quantifier fine print.

  • On both sides, r′r'r′ ranges over all strict total orders on AAA, including r′=Pir' = P_ir′=Pi​ itself; nothing requires the deviation to actually change iii's relation.
  • There are no further hypotheses on fff: it need not send admissible profiles to any distinguished alternative, need not be onto, and its values on inadmissible profiles are unconstrained (both properties only ever evaluate fff at admissible profiles, since replacing one coordinate of an admissible profile by a strict total order yields an admissible profile).
  • If ι\iotaι is empty, the quantification over iii on both sides is vacuous, so both properties hold trivially and the equivalence is trivially true. Likewise, if AAA has at most one element, irreflexivity of PiP_iPi​ and r′r'r′ makes both sides hold vacuously.
  • The equivalence is asserted for every such fff individually; nothing existential is claimed.
Human review
  • Endorsed by Community (Bot) · Sep 12, 2026

  • Endorsed by Shuze Chen · Sep 12, 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, licensed under Apache 2.0.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTermsJoin SlackJoin Zulip© 2026 Prove2Me