The Top Trading Cycle mechanism is strategy-proof (Roth)
ProvedAGT.ttc_strategyproofThe Top Trading Cycle mechanism is strategy-proof (Theorem 10.7 of Algorithmic Game Theory; Roth). Formally: let be any mechanism that, on every profile of strict preferences, selects a core allocation — by Theorem 10.6 the core is a single point, the TTC outcome, so is pinned down on valid profiles. Then no agent can misreport her ordering and receive a house she truly prefers: for every profile, every agent , and every alternative strict ordering, the house gives after the misreport either equals or is truly-worse than the house gives her under truth.
A note on the rendering. Stating the theorem for every core-selecting , with the misreport quantified after , is what makes it a statement about the mechanism rather than about one run of an algorithm; nothing is chosen with hindsight.
import Definitions.Def_agt_matching
namespace AGT
/-- The Top Trading Cycle mechanism is strategy-proof (Theorem 10.7 of
*Algorithmic Game Theory*; Roth). Formally: any mechanism selecting, on
every profile of strict preferences, the unique core allocation (Theorem
10.6 — the TTC outcome) leaves no agent able to obtain a house they truly
prefer by misreporting their ordering. -/
theorem ttc_strategyproof {N : Type*} [Fintype N] [DecidableEq N]
(F : (N → N → N → Prop) → N ≃ N)
(hF : ∀ P, IsPrefProfile P → ¬ HouseBlocked P (F P)) :
∀ P, IsPrefProfile P → ∀ i (r' : N → N → Prop),
IsStrictTotalOrder N r' →
F (Function.update P i r') i = F P i ∨
P i (F P i) (F (Function.update P i r') i) := by
sorry
end AGTRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: ttc_strategyproof
Setting. Let be a finite type with decidable equality (possibly empty). A "profile" assigns to each a binary relation on (write when 's relation holds of the ordered pair ); an "allocation" is a bijection (a Lean Equiv). The theorem is about an arbitrary given function
is total: it is defined on every family of relations, including families that are not preference profiles; no construction of (such as a top-trading-cycles algorithm) appears in the statement — is characterized only by the hypothesis below.
Hypothesis . For every profile such that each is a strict total order on (trichotomous, irreflexive, transitive), the allocation is unblocked — unfolding the custom predicate HouseBlocked, this means: there do not exist a nonempty set and a bijection with , such that every has or , and at least one has . (Only pref profiles are constrained; 's values on other inputs are arbitrary.)
Conclusion. For every profile with each a strict total order, for every agent , and for every binary relation on that is a strict total order, letting denote the profile that agrees with at every agent except , where the relation is replaced by :
That is: the object agent receives when the profile carries in 's slot equals the object receives under ; or 's original relation holds of the ordered pair (object under , object under ). The disjunction is inclusive. The comparison always uses , never ; enters only through the deviated profile handed to .
Points to note.
- The quantifier order is: profile first, then agent and alternative relation — so the claim covers every unilateral replacement at every agent of every strict-total-order profile.
- The conclusion is the literal disjunction displayed above, not the (formally different) statement ""; the exact form asserted is equal outcome or truthful outcome -related above the deviation outcome.
- Nothing constrains what happens to agents other than under , and nothing is asserted for relations that fail to be strict total orders, nor for base profiles that fail to be preference profiles.
- Degenerate cases: if is empty, the conclusion quantifies over no agents and holds vacuously (and is about the unique empty bijection, unblocked because no nonempty exists). If is unsatisfiable for a given , the theorem holds vacuously for that ; the statement asserts the implication for every of the displayed type.
Confirmed by the mission captain (proposal self-audit).