CourseM2-Chap Matching
CourseM2-Chap Matching
Chapter 3 Matching
Philippe Solal
u2 s2
u2 s3
u2 s2
µ − 1 ( s1 ) = u 3 s3 = µ (u1 )
u2 s2
u3 s3
u1 and u2 are matched with their top partner. So, they do not
want to be matched with another agent; u3 is matched with
his/her worst agent in S. Because u3 is ranked last by each agent
in S, there is no agent in S who would prefer to be matched with
u3 . We say that this matching is stable.
Solal Microeconomics 11 / 1
One-to-one matching problems
Solal Microeconomics 12 / 1
One-to-one matching problems
∀y ∈ Y, xy (y x).
Solal Microeconomics 13 / 1
One-to-one matching problems
∀y ∈ Y, xy (y x).
Solal Microeconomics 13 / 1
One-to-one matching problems
∀y ∈ Y, xy (y x).
Solal Microeconomics 13 / 1
One-to-one matching problems
∀y ∈ Y, xy (y x).
Solal Microeconomics 13 / 1
One-to-one matching problems
Solal Microeconomics 14 / 1
One-to-one matching problems
Solal Microeconomics 15 / 1
One-to-one matching problems
Examples
The totally ordered real line (R, ≥) is a lattice where, for each
{x, y} ⊆ R, x ∨ y = max{x, y} and x ∧ y = min{x, y}.
For any n ∈ N, (Rn , ≥n ) is a partially ordered set where, for
each {x, y} ⊆ Rn , x ≥n y if, for each i ∈ [n], xi ≥ yi . It
constitutes also a lattice where x ∨ y = (xi ∨ yi )i∈[n] and
x ∧ y = (xi ∧ yi )i∈[n] . The same is true for (Nn ≥n ), where
N = (0, · · · , 0).
V n
Solal Microeconomics 17 / 1
One-to-one matching problems
Solal Microeconomics 17 / 1
One-to-one matching problems
Solal Microeconomics 17 / 1
One-to-one matching problems
0
Given a pair of matchings {µ, µ } in X, the supremum and
the infimum are defined by:
0 0
∀u ∈ U, (µ ∨ µ )(u) = µ(u) if µ (u) u µ (u);
0 0
∀u ∈ U, (µ ∧ µ )(u) = µ(u) if µ (u) ≺u µ (u).
0
First of all, we show if µ and µ are stable matchings, then
0 0
µ ∨ µ and µ ∧ µ are well-defined, i.e. both constitute two
matchings in X.
Solal Microeconomics 18 / 1
One-to-one matching problems
Proposition
0 0 0
If µ ∈ X` and µ ∈ X` , then µ ∨ µ ∈ X and µ ∧ µ ∈ X.
Furthermore, we have:
0 0
∀s ∈ S, (µ ∨ µ )−1 (s) = µ−1 (s) if and only if µ−1 (s) ≺s (µ )−1 (s),
0 0
∀s ∈ S, (µ ∧ µ )−1 (s) = µ−1 (s) if and only if µ−1 (s) s (µ )−1 (s).
Proof.
0
Consider first µ ∨ µ . We have to prove that for each distinct u and
0 0 0 0
u in U, (µ ∨ µ )(u) 6= (µ ∨ µ )(u ). Assume, for the sake of
0
contradiction, that there are two distinct agents u and u in U such
that:
0 0 0
(µ ∨ µ )(u) = (µ ∨ µ )(u ) = s.
0 0
Assume that (µ ∨ µ )(u) = µ(u) = s, meaning that s u µ (u) .
Solal Microeconomics 19 / 1
One-to-one matching problems
Proof.
0
Because µ and µ are matchings, s = µ(u) = µ(u0 ) and
0 0
µ (u) = µ (u0 ) are not possible. Therefore,
0 0 0 0 0
(µ ∨ µ )(u ) = µ (u ) = s = µ (u) = (µ ∨ µ )(u).
0 0
Thus, s u0 µ(u ) and (µ ∨ µ )−1 (s) = {u, u0 }. Consider the
0 0
situation where (µ ∨ µ )−1 (s) = u. Because µ is a stable matching
0
and s u µ (u ), then we necessarily have
0
( µ 0 ) −1 (s ) = u s u = µ −1 (s ), (1)
0
otherwise (u, s) would block µ . Consider now the situation
0 0
where (µ ∨ µ )−1 (s) = u . Because µ is a stable matching and
0 0 0
µ (u ) = s u0 µ(u ), then we necessarily have
0 0
( µ ) −1 (s ) = u s u = ( µ ) −1 (s ), (2)
Solal Microeconomics 20 / 1
One-to-one matching problems
Proof.
0
otherwise (u , s) would block µ. From (1) and (2) and the
0
antisymmetry of s , we obtain u = u , a contradiction. Conclude
0
that µ ∨ µ ∈ X.
0
The proof showing that µ ∧ µ ∈ X is similar, and so omitted.
Regarding the second part of the statement of the proposition.
0
(=⇒) Assume that (µ ∨ µ )−1 (s) = µ−1 (s) = u. Because
0 0
µ ∨ µ ∈ X, we have (µ ∨ µ )(u) = µ(u) = s. By definition of
0 0 0
µ ∨ µ , this means that s u µ (u). Because µ is a stable matching
0 0 −1
and s u µ (u), we necessarily have (µ ) (s) s µ−1 (s) = u,
0 0
otherwise (u, s) would block µ . So, (µ )−1 (s) s µ−1 (s), as
desired.
0 0 0
(⇐=) If µ−1 (s) ≺s (µ )−1 (s) and (µ ∨ µ )−1 (s) = (µ )−1 (s). To
0 0
show: a contradiction arises. Denote by u = (µ )−1 (s). By
0 0 0 0
definition of µ ∨ µ , we have µ (u ) = s u0 µ(u ), which
contradicts the stability of µ.
Solal 0 −1 Microeconomics 21 / 1
One-to-one matching problems
Proposition
The pair (X` , ) forms a (complete) lattice. In particular, it exists a
greatest (and a least) stable matching with respect to .
Proof.
0 0
It suffices to verify that for each pair {µ, µ } ∈ X` , µ ∨ µ ∈ X` and
0 0
µ ∧ µ ∈ X` , i.e. the pair {µ, µ } has a supremum and infimum in
0
X` . Let us show that µ ∨ µ is stable. Assume, for the sake of
0
contradiction, that µ ∨ µ ∈ X \ X` . Then, there is (u, s) that blocks
0
µ ∨ µ . On the one hand, by definition of a blocking pair, we have:
0 0
s u (µ ∨ µ )(u) and u s (µ ∨ µ )−1 (s).
0
The relation s u (µ ∨ µ )(u) means that s u µ(u) and
0 0
s u µ (u); and u s (µ ∨ µ )−1 (s) means that either u s (µ )−1 (s)
0 −1
or u s (µ ) (s).
Solal Microeconomics 22 / 1
One-to-one matching problems
Proof.
If u s (µ )−1 (s), then (u, s) blocks µ, a contradiction with the fact
0 0
that µ ∈ X` . If u s (µ )−1 (s), then (u, s) blocks µ , another
0
contradiction. Conclude that µ ∨ µ ∈ X` . The proof showing that
0
µ ∧ µ ∈ X` is similar, and so omitted.
Because (X` , ) is a lattice and X` ⊆ X is a finite set, (X` , ) is a
complete lattice, meaning that each Y ⊆ X` possesses a
W V
supremum and infimum in X` . Therefore, X` and X` exist
and belong to X` and so constitute the greatest and the least stable
matching respectively.
Solal Microeconomics 23 / 1
One-to-one matching problems
Example borrowed from Knuth (1976): |U | = |S| = 4 and
` ∈ LU × LS is as follows.
u1 s1 u1 s2 u1 s3 u1 s4 s1 u4 s1 u3 s1 u2 s1 u1
u2 s2 u2 s1 u2 s4 u2 s3 s2 u3 s2 u4 s2 u1 s2 u2
u3 s3 u3 s4 u3 s1 u3 s2 s3 u2 s3 u1 s3 u4 s3 u3
u4 s4 u4 s3 u4 s2 u4 s1 s4 u1 s4 u2 s4 u3 s3 u4
The set of stable matching X` contains 10 elements including the
following ones:
u1 s1 u1 s1
u2 s2 u2 s2
µ (1) µ (2)
u3 s3 u3 s3
u4 s4 u4 s4
Solal Microeconomics 24 / 1
One-to-one matching problems
u2 s2
µ (1) ∨ µ (2)
u3 s3
u4 s4
Solal Microeconomics 25 / 1
One-to-one matching problems
u2 s2
µ (1) ∧ µ (2)
u3 s3
u4 s4
We can easily verify that µ(1) ∧ µ(2) ∈ X` and that every agent
u ∈ U prefers µ(1) and µ(2) to µ(1) ∧ µ(2) . On the contrary,
each agent in S prefers µ(1) ∧ µ(2) to µ(1) and µ(2) and so to
µ (1) ∨ µ (2) .
Solal Microeconomics 26 / 1
One-to-one matching problems
The fact that (X` , ) is a complete lattice is interesting for at
least two reasons. First, this fact implies that there is a
greatest stable matching for the members of U (the U-optimal
stable matching). Second, if we know two incomparable
0
(w.r.t. to ) stable matchings µ and µ (some members of U
0 0
prefer µ to µ, while other members of U prefer µ to µ ), we
0
can easily compute two other stable matchings µ ∨ µ and
0
µ ∧ µ.
The following figure is a mnemonic:
0
µ ∨µ
0
µ µ
0
µ∧µ
Solal Microeconomics 27 / 1
One-to-one matching problems
Solal Microeconomics 28 / 1
One-to-one matching problems
0
Formally, a matching µ ∈ X dominates another matching
µ ∈ X if there exists a coalition T ⊆ U ∪ S which blocks µ in
the following sense: for each pair {u, s} formed by u ∈ T ∩ U
and s ∈ T ∩ S, it holds that:
0 0
1. µ (u) ∈ T, µ (u) 6 = µ (u);
0 0
2. (µ )−1 (s) ∈ T, ( µ ) −1 (s ) 6 = µ −1 (s );
0 0
3. µ (u) u µ (u) and (µ )−1 (s) s µ−1 (s).
0
That is, coalition T can enforce the set of matchings in µ that
0
concerns its members if each u ∈ T has a partner µ (u) ∈ T
and vice versa, and if each member of T (strictly) prefers his
0
or her partner in µ than his or her partner in µ.
Solal Microeconomics 29 / 1
One-to-one matching problems
Given a one-to-one matching problem (X, `), its core,
denoted by Core(X, `) is the set of matchings that are not
dominated.
Proposition
For each one-to-one matching problem (X, `), Core(X, `) = X` .
Proof.
First, if µ ∈ X \ X` , then there is a blocking pair (u, s) such that
s u µ(u) and u s µ−1 (s). It follows that µ is dominated by any
0 0
µ ∈ X such that µ (u) = s, and so µ ∈ X \ Core(X, `). Therefore,
µ ∈ Core(X, `) implies µ ∈ X` , and so Core(X, `) ⊆ X` .
0
Second, if µ ∈ X \ Core(X, `), then µ is dominated by some µ ∈ X
through a coalition T. By definition, T blocks µ, which means that
0
for each s ∈ T ∩ S, (µ )−1 (s) s µ−1 (s). Let s ∈ T ∩ S and
0 −1
u = (µ ) (s). By definition of a blocking coalition u ∈ T ∩ U and
s u µ (u).
Solal Microeconomics 30 / 1
One-to-one matching problems
Proof.
Putting together u s µ−1 (s) and s u µ(u), we conclude that
(u, s) blocks µ, and so µ ∈ X \ X` . Therefore, µ ∈ X` implies
µ ∈ Core(X, `), and so Core(X, `) ⊇ X` . Combining
Core(X, `) ⊆ X` and Core(X, `) ⊇ X` , we arrive at the desired
conclusion.
Solal Microeconomics 31 / 1
One-to-one matching problems
Proposition
The Core is the unique solution on the set of one-to-one matching
problems which satisfies Pareto optimality, Consistency, Converse
consistency and Anonimity
Solal Microeconomics 32 / 1
Nash implementation
∀` ∈ LU × LS , F(`) ⊆ X` .
Solal Microeconomics 33 / 1
Nash implementation
Recall the definition of Monotonicity for (not necessarily resolute)
social choice functions.
Monotonicity (M) F : LU × LS −→ 2X \ ∅ is monotonic if, for
0
each µ ∈ X, each ` ∈ LU × LS and each ` ∈ LU × LS , it holds
that:
0
µ ∈ F(`) ∧ `0 N
µ ` =⇒ µ ∈ F(` ) ,
0
where ` N
µ ` means that
0
∀u ∈ U, C(u , µ(u)) ⊆ C(u , µ(u)) and
0
∀s ∈ S, C(s , µ−1 (s)) ⊆ C(s , µ−1 (s)),
or equivalently,
0
∀s ∈ S, µ(u) u s =⇒ µ(u) u s ,
−1 0
µ (s) s u =⇒ µ−1 (s) s u .
∀u ∈ U,
Solal Microeconomics 34 / 1
Nash implementation
Proposition
The social choice function FS : LU × LS −→ 2X \ {∅} defined as
∀` ∈ LU × LS , FS (`) = X` ,
is Nash implementable.
Solal Microeconomics 35 / 1
Nash implementation
Proof.
In view of Maskin’s result, it suffices to verify that FS satisfies (M)
and (NVP).
(i) FS satisfies (M). Pick any µ ∈ X` at ` ∈ LU × LS . Pick any
0 0
alternative preference profile ` such that ` µ ` and assume, for
the sake of contradiction, that µ ∈ X \ X`0 . By definition of a
unstable matching, there is an unmatched pair (u, s) which blocks
0 0 0 0
µ at ` , i.e., s u µ(u) and u s µ−1 (s), and so s 6∈ C(µ, u ) and
0 0 0
u 6∈ C(µ, s ). By ` µ ` , µ(u) is weakly better ranked by u at `
0
than at `, and µ−1 (s) is weakly better ranked by s at ` than at `.
0 0
Therefore, if s u µ(u) and u s µ−1 (s) hold, then s u µ(u) and
u s µ−1 (s), which contradicts that µ ∈ X` .
(ii) FS satisfies (NVP). If at least n − 1 agents top rank their
partner assigned by µ under `, then at least n − 1 agents have no
incentive to be matched with another agent. So, there is no
blocking pair, i.e. µ ∈ X` = F(`).
Solal Microeconomics 36 / 1
Nash implementation
Two interesting results by Tadenuma and Toda (1998) are
worth mentioning. The first result is an existence result: it
indicates that there exists at least one stable social choice
function F, distinct from FS , which is Nash implementable.
The second one is an impossibility result: there is no resolute
social choice function which is stable and Nash
implementable.
Proposition
Assume that |U | = |S| ≥ 3.
1 There exists at least one stable social choice function
F : LU × LS −→ 2X \ {∅}, distinct from FS , which is Nash
implementable.
2 There does not exist a resolute social choice function
F : LU × LS −→ X which is stable and Nash implementable.
Solal Microeconomics 37 / 1
Nash implementation
Proof.
Proof of point 1 is constructive and quite involved, and so we
omit it. The reader is referred to Lemma 1, Proposition 2 and
Proposition 3 in Tadenuma and Toda (1998).
Proof of point 2 is also constructive. Consider the situation where
|U | = |S| = 3. The proof for situations where these sets contain
more than three elements is similar. The proof consists in
showing that a resolute and stable F cannot satisfy (M), a
necessary condition for Nash implementation (see Chap. 2).
0
Consider the following preference profile ` ∈ LU × LS :
0 0 0 0
Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u1 s1 u3
0 0 0 0
Agent u2 s2 u2 s1 u2 s3 Agent s2 u1 s2 u2 s2 u3
0 0 0 0
Agent u3 s1 u3 s3 u3 s2 Agent s3 u1 s3 u3 s3 u2
Solal Microeconomics 38 / 1
Nash implementation
Proof.
Then, X`0 = {µ(1) , µ(2) }, where
s1 u1 s3 u1 s2 .
0
Since µ(1) (u1 ) = s1 , C(u1 , s1 ) = C(u1 , s1 ) = S. Consider the
0
profile (u1 , `−u1 ). Under this profile, µ(2) is no longer a stable
matching since (u1 , s3 ) forms a blocking pair:
0
s3 u1 µ(2) (u1 ) = s2 and u1 s3 (µ(2) )−1 (s3 ) = u3 .
Solal Microeconomics 39 / 1
Nash implementation
Proof.
In fact, we have X(u 0
, ` −u )
= {µ(1) }. It follows that if F satisfies
1 1
0
stability, then F(u1 , `−u1 ) = µ(1) . We also see that
0 0
` µ(1) (u1 , `−u1 ). By (M) and the fact that F is resolute, we get
0
F(` ) = µ(1) .
Finally, let s1 ∈ LS be the preference relation defined as:
u2 s1 u3 s1 u1 .
0
Since (µ(2) )−1 (s1 ) = u2 , C(s1 , u2 ) = C(s1 , u2 ) = U. Consider
0
the profile (s1 , `−s1 ). Under this profile, µ(1) is no longer a stable
matching since (u3 , s1 ) forms a blocking pair:
0
s1 u3 µ(1) (u3 ) = s3 and u3 s1 (µ(1) )−1 (s3 ) = u1 .
Proof.
0
It follows that if F satisfies stability, then F(s1 , `−s1 ) = µ(2) . We
0 0
also see that ` µ(2) (s1 , `−s1 ). By (M) and the fact that F is
0
resolute, we get F(` ) = µ(2) , which contradicts the equality
0
F(` ) = µ(1) (see above). Conclude that if F is resolute and stable,
it does not satisfy (M). As (M) is a necessary condition for Nash
implementation, F is not Nash implementable. In words, if F is
resolute and satisfies stability, it is not Nash implementable.
Recommended reading
Kara T., Somnez T., 1996. Nash implementation of matching
rules. Journal of Economic Theory, 68:425-439.
Tadenuma K. and Toda, M., 1998. Implementable stable
solutions to pure matchings. Mathematical Social Sciences,
35: 121-132.
Solal Microeconomics 41 / 1
Nash implementation
Proof.
0
It follows that if F satisfies stability, then F(s1 , `−s1 ) = µ(2) . We
0 0
also see that ` µ(2) (s1 , `−s1 ). By (M) and the fact that F is
0
resolute, we get F(` ) = µ(2) , which contradicts the equality
0
F(` ) = µ(1) (see above). Conclude that if F is resolute and stable,
it does not satisfy (M). As (M) is a necessary condition for Nash
implementation, F is not Nash implementable. In words, if F is
resolute and satisfies stability, it is not Nash implementable.
Recommended reading
Kara T., Somnez T., 1996. Nash implementation of matching
rules. Journal of Economic Theory, 68:425-439.
Tadenuma K. and Toda, M., 1998. Implementable stable
solutions to pure matchings. Mathematical Social Sciences,
35: 121-132.
Solal Microeconomics 41 / 1
The Gale-Shapley algorithm
Solal Microeconomics 42 / 1
The Gale-Shapley algorithm
Solal Microeconomics 42 / 1
The Gale-Shapley algorithm
The U-proposing (DA) algorithm is defined as follows for each
` ∈ LU × LS :
Step 1
Step 1.1: Each agent u in U proposes to his/her top ranked
agent in S, i.e. Top(u ).
Step 1.2: Each agent in S accepts tentatively the most preferred
proposal (if any), and rejects any other proposal.
..
.
Step k ≥ 2
Step k.1: Each agent u in U that is rejected at Step k − 1
proposes his/her most preferred agent in S who hasn’t yet
rejected him/her.
Step k.2: Each agent in S considers this new proposal, holds
his/her most preferred acceptable to date, and rejects the rest.
Stop: When no further proposals are made, match each s ∈ S to
the agent u whose proposal s is holding.
Solal Microeconomics 43 / 1
The Gale-Shapley algorithm
The U-proposing (DA) algorithm is defined as follows for each
` ∈ LU × LS :
Step 1
Step 1.1: Each agent u in U proposes to his/her top ranked
agent in S, i.e. Top(u ).
Step 1.2: Each agent in S accepts tentatively the most preferred
proposal (if any), and rejects any other proposal.
..
.
Step k ≥ 2
Step k.1: Each agent u in U that is rejected at Step k − 1
proposes his/her most preferred agent in S who hasn’t yet
rejected him/her.
Step k.2: Each agent in S considers this new proposal, holds
his/her most preferred acceptable to date, and rejects the rest.
Stop: When no further proposals are made, match each s ∈ S to
the agent u whose proposal s is holding.
Solal Microeconomics 43 / 1
The Gale-Shapley algorithm
Solal Microeconomics 44 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm
u1 s1
u2 s2
u3 s3
Solal Microeconomics 46 / 1
The Gale-Shapley algorithm
Proposition
For each preference profile ` ∈ LU × LS , the U-proposing (DA)
algorithm has the following properties:
1 It terminates after a finite number of steps.
2 It returns a unique one-to-one matching denoted by µU,` ∈ X.
3 This matching is stable, i.e. µU,` ∈ X` ⊆ X.
Proof.
Consider any ` ∈ LU × LS .
Point 1. Agents in U propose to agents in S in decreasing order of
preference. Once an agent in S is matched, he/she never becomes
unmatched: he/she only “trades up”. At each step, at most |U |
agents propose to a new agent. For each agent there are at most
|S| proposals (one for each agent in S). So after (at most) |U | × |S|
steps/proposals, the U-proposing (DA) algorithm terminates.
Solal Microeconomics 47 / 1
The Gale-Shapley algorithm
Proof.
Point 2. To show: all agents in U and all agents in S get matched.
The proof is by contradiction. Assume, for the sake of
contradiction, that there is u ∈ U who is unmatched upon
termination of the U-proposing (DA) algorithm (Point 1). Because
|S| = |U |, there is s ∈ S who is also unmatched. From the
definition of the (DA) algorithm, once an agent in S is matched,
he/she never becomes unmatched. Therefore, conclude that s was
never proposed to. But, by the definition of the (DA) algorithm, u
has proposed to everyone in S since he/she ends up unmatched.
A contradiction with the fact that s was never proposed to.
Conclude that the U-proposing (DA) returns a unique matching,
say µU,` ∈ X. The uniqueness part is a consequence of the
deterministic feature of the algorithm.
Solal Microeconomics 48 / 1
The Gale-Shapley algorithm
Proof.
Point 3. To show µU,` ∈ X` . By definition of a stable matching, we
have to show that µU,` contains no blocking pair. Assume, for the
sake of contradiction, that µU,` contains a blocking pair
(u, s) ∈ U × S:
∀` ∈ LU × LS , F(DA) (`) =
_
X` .
. Solal Microeconomics 50 / 1
The Gale-Shapley algorithm
Proof.
It suffices to prove that, for each ` ∈ LU × LS , µU,` is U-optimal.
Assume, for the sake of contradiction, that there is ` ∈ LU × LS
such that µ`,U is not U-optimal.
Assume there is u ∈ U who, in µU,` , is paired with an agent other
than his/her top ranked agent. Agent u proposes in decreasing
order of preference. If µU,` (u) is not U-optimal, then there is
µ ∈ X` such that µ (u) u µU,` (u) and µ (u) 6= µU,` (u). This means
that during the execution of the (DA) algorithm, µ (u) ∈ S has
rejected u. Assume that u is the first agent who have been rejected
by a possible partner in X` , and that µ (u) ∈ S is the first possible
partner who has rejected u.
When u is rejected by µ(u), the latter forms or reaffirms
0
engagement with another agent in U, say u0 , i.e. u µ(u) u. Let
0 0
µ(u ) be the partner of u under µ. Of course, µ(u0 ) 6= µ(u) by
definition of a matching.
Solal Microeconomics 51 / 1
The Gale-Shapley algorithm
Proof.
0
At step where u has been rejected, u has not yet been rejected
since u is the first one to be rejected by a possible partner. Thus, at
0 0
this step, µ (u) u0 µ (u ). But, we also have u µ(u) u. Therefore
0
(u , µ(u)) is a blocking pair under µ, a contradiction with that fact
that µ ∈ X` .
Solal Microeconomics 52 / 1
The Gale-Shapley algorithm
Unfortunately there is a counterpart to the U-optimality of
F(DA) : in µU,` , agents in S are matched to their worst partner
among the possible partners in stable matchings (see the
result about the lattice structure of X` ).
Another bad news is that there is no stable and resolute
social choice function F which is strategy-proof, i.e., if
F : LU × LS −→ X is stable, then
0
∃i ∈ N, ∃` = (i , `−i ) ∈ LU × LS , ∃ i ∈ L, such that:
0 0
F (i , `−i ) i F (`), where F (i , `−i ) 6= F (`).
This impossibility result is not a consequence of the
combination of the Muller-Satterthwaite result for weak
orders with the Tademuda-Toda result. Indeed, we only
know that:
(M) =⇒ (SP) and [F resolute and satisfies (ST)] =⇒ ¬(M).
Roth (1982) is the first author to provide a direct proof of this
Solal Microeconomics 53 / 1
The Gale-Shapley algorithm
Unfortunately there is a counterpart to the U-optimality of
F(DA) : in µU,` , agents in S are matched to their worst partner
among the possible partners in stable matchings (see the
result about the lattice structure of X` ).
Another bad news is that there is no stable and resolute
social choice function F which is strategy-proof, i.e., if
F : LU × LS −→ X is stable, then
0
∃i ∈ N, ∃` = (i , `−i ) ∈ LU × LS , ∃ i ∈ L, such that:
0 0
F (i , `−i ) i F (`), where F (i , `−i ) 6= F (`).
This impossibility result is not a consequence of the
combination of the Muller-Satterthwaite result for weak
orders with the Tademuda-Toda result. Indeed, we only
know that:
(M) =⇒ (SP) and [F resolute and satisfies (ST)] =⇒ ¬(M).
Roth (1982) is the first author to provide a direct proof of this
Solal Microeconomics 53 / 1
The Gale-Shapley algorithm
Proposition
There is no (resolute) social choice function F : LU × LS −→ X
which is stable and strategy-proof.
Proof.
Assume that |U | = |S| = 3, and pick any resolute and stable (ST)
social choice function F : LU × LS −→ X. To prove that F is not
strategy-proof, it suffices to exhibit a preference profile
` ∈ LU × LS where at least one agent has no incentive to report his
or her true preference relation. Assume that ` = (i )i∈N is as
follows:
Solal Microeconomics 54 / 1
The Gale-Shapley algorithm
Proof.
Then, X` = {µU,` , µS,` }.
µU,` u1 s1 µS,` u1 s1
u2 s2 u2 s2
u3 s3 u3 s3
0
By (ST) of F, F(`) ∈ X` . Now, assume that agent s1 reports s1
instead of s1 :
0 0
Agent s1 u1 s1 u2 s1 u3 .
Then, (u2 , s1 ) forms a blocking pair in µU,` , which means that this
0
matching is no longer stable under (s1 , `−s1 ). In fact,
0
X(0 ,`−s ) = {µS,` }. By (ST) of F, F(s1 , `−s1 ) = µS,` .
s1
Solal 1 Microeconomics 55 / 1
The Gale-Shapley algorithm
Proof.
0
Similarly, assume that agent u1 reports u1 instead of u1 :
0 0
Agent u1 s2 u1 s3 u1 s1 .
(M) =⇒ (SP)
[F Nash implementable] =⇒ (M).
(M) =⇒ (SP)
[F Nash implementable] =⇒ (M).
Proposition
Let F(DA) : LU × LS −→ X be the social choice function generated
by the U-proposing (DA) algorithm. Then,
0
∀` =: (u , `−u ) ∈ LU × LS , ∀u ∈ U, ∀ u ∈ LU
it holds that: 0
µU,` (u) u µU,(u ,`−i ) (u).
Solal Microeconomics 58 / 1
The Gale-Shapley algorithm
Proposition
Let F(DA) : LU × LS −→ X be the social choice function generated
by the U-proposing (DA) algorithm. Then,
0
∀` =: (u , `−u ) ∈ LU × LS , ∀u ∈ U, ∀ u ∈ LU
it holds that: 0
µU,` (u) u µU,(u ,`−i ) (u).
Solal Microeconomics 58 / 1
The Gale-Shapley algorithm
Proposition
(Blocking lemma) Consider any ` ∈ LU × LU , any µ ∈ X (stable or
not). Let T ⊆ U be the subset of agents in U who (strictly) prefer µ
to F(DA) (`) =: µU,` . If T 6= ∅, then there is (u, s) ∈ U × S which
blocks µ such that u ∈ U \ T and s ∈ µ(T ), where µ(T ) ⊆ S is the
image of the set T under µ, i.e. the subset of agents in S matched
with agents in T.
Solal Microeconomics 59 / 1
The Gale-Shapley algorithm
Remark:
1 Because u ∈ U \ T, we have µU,` (u) u µ (u).
2 Because s ∈ µ(T ), we have µ−1 (s) = u0 ∈ T, and so
0 0
s u0 µU,` (u ) where s 6= µU,` (u ); and by stability of µU,` ,
0
(µU,` )−1 (s) s u .
Proof.
(of the blocking lemma). We distinguish two cases:
(i) µ(T ) 6= µU,` (T ). Pick any s ∈ µ(T ) \ µU,` (T ). By point 2. of the
0
above remark, µ−1 (s) = u0 ∈ T, and s u0 µU,` (u ) where
0 0
s 6= µU,` (u ). Let u = (µU,` )−1 (s), where u 6= u since u ∈ U \ T.
0
By stability of µU,` , u s u . Because u ∈ U \ T, by point 1. of the
above remark, we have s u µ(u) and, of course, s 6= µ(u) since
0
s = µ(u0 ) where u 6= u. To summarize, we have s u µ(u) and
0
u s u = µ−1 (s), meaning that the (unmatched pair) (u, s) blocks
the matching µ.
Solal Microeconomics 60 / 1
The Gale-Shapley algorithm
Proof.
(ii) µ(T ) = µU,` (T ) =: V ⊆ S. In the (DA) algorithm, denote by
u ∈ U the last agent rejected by a member of V; denote by s the
(last) agent s ∈ V ⊆ S who rejects the tentative partner u to accept
a member in T. Of course, u 6∈ T for if so, after been rejected by s,
u would have make a proposal to a member of V since
µU,` (T ) =: V, contradicting that s is the last agent in V who
received such a proposal from a member of T ⊆ U. On the one
hand, wehave:
s u µU,` (u) ∧ µU,` (u) u µ(u) =⇒ s u µ (u),
Proof.
(of the Strategy-proofness for U). By way of contradiction,
0
assume that ∃u ∈ U, ∃ i 6=i :
0 0
µU,(u ,`−i ) (u) u µU,` (u), µU,` (u) 6= µU,(u ,`−i ) (u).
0
Because µU,(u ,`−i ) is a matching, we have T 6= ∅. Thus, we can
0
apply the blocking lemma: there is (u0 , s0 ) which blocks µU,(u ,`−i )
0 0 0
under `. Furthermore, u ∈ U \ T and s ∈ µU,(u ,`−i ) (T ), which
0 0 0
means that µU,` (u ) u0 µU,(u ,`−i ) (u ). Next,
0 0 0
(µU,` )−1 (s ) s0 (µU,(u ,`−i ) )−1 (s ), since otherwise
0 0
(µU,` )−1 (s ) ∈ T and s would block µU,` under `, contradicting
the fact that µU,` is stable.
Solal Microeconomics 62 / 1
The Gale-Shapley algorithm
Proof.
Since only u misrepresents his or her preference relation in
0
(u , `−i ),
0 0 0 0 0 0
µU,` (u ) u0 µU,(u ,`−i ) (u ) and (µU,` )−1 (s ) s0 (µU,(u ,`−i ) )−1 (s )
0 0
means that µU,(u ,`−i ) is unstable under (u , `−i ), a contradiction
with the fact that it is the output of the (DA) algorithm.