The core of the housing market is a single allocation (Roth-Postlewaite)
ProvedAGT.house_core_uniqueThe core of the housing market consists of exactly one allocation (Theorem 10.6 of Algorithmic Game Theory; Roth–Postlewaite). For finitely many agents, each owning one house and holding a strict preference over all houses, exactly one permutation of the houses is blocked by no coalition — where a coalition blocks by redistributing the houses its own members hold, making all members weakly and some member strictly better off. The unique core allocation is the outcome of Gale's Top Trading Cycle algorithm, whose cycle-by-cycle argument is the book's proof.
A note on the rendering. Uniqueness is the full : existence and uniqueness together. On the empty market the empty allocation is vacuously the unique core point, so no nonemptiness hypothesis is needed.
import Definitions.Def_agt_matching
namespace AGT
/-- The core of the house allocation problem consists of exactly one
allocation (Theorem 10.6 of *Algorithmic Game Theory*; Roth–Postlewaite).
With strict preferences, exactly one permutation of the houses is
unblocked — the outcome of the Top Trading Cycle algorithm, whose
cycle-by-cycle argument the book gives. On the empty market the empty
allocation is vacuously the unique core point. -/
theorem house_core_unique {N : Type*} [Fintype N] [DecidableEq N]
(P : N → N → N → Prop) (hP : IsPrefProfile P) :
∃! σ : N ≃ N, ¬ HouseBlocked P σ := by
sorry
end AGTRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: house_core_unique
Setting and hypotheses. Let be a finite type with decidable equality (it may be empty). A single type plays the role of both agents and objects: each carries a binary relation on itself (write when the relation holds of the ordered pair ), and an "allocation" is a bijection (a Lean Equiv: a map with a two-sided inverse). The only hypothesis is
- : for every , the relation is a strict total order on — trichotomous (, or or ), irreflexive, and transitive.
Note that no initial endowment appears anywhere in the statement: nothing says agent "owns" object ; the indexing of objects by the agent type is the only link.
Conclusion — a unique-existence claim (). There exists a bijection that is unblocked, and every bijection with that property equals . Precisely, it asserts the conjunction:
- Existence: some satisfies ;
- Uniqueness: for every , if then . Equality here is equality of
Equivs, which amounts to the two bijections agreeing as functions on every point of .
Unfolding the blocking notion. says: there exist a set and a bijection such that
- is nonempty;
- maps into (; stated as "into", though on a finite type an injective self-map of into is automatically onto );
- every member weakly gains: , or ;
- at least one member strictly gains: with .
So the theorem's object is a admitting no such pair : no nonempty coalition , together with a global bijection keeping 's assignments inside , gives every member of either the same object or a -related-above object, with the relation holding strictly for at least one member. The blocking is unconstrained off , and may be all of — so in particular being unblocked entails there is no reallocation of everything that all agents weakly "improve" under (in the displayed sense) with one improving strictly (a Pareto-type condition as the special case ).
Edge cases. If is empty, the identity is the unique bijection , no nonempty exists so nothing is blocked, and the holds trivially. If is a singleton, similarly the identity is unique and unblocked (irreflexivity kills any strict gain). The uniqueness half is a genuine assertion for larger : the theorem claims there are never two distinct unblocked bijections, for any profile of strict total orders.
Confirmed by the mission captain (proposal self-audit).