Rural hospitals theorem
ProvedRuralHospitals.rural_hospitals_theoremConsider a many-to-one matching market with a finite set of doctors and a finite set of hospitals, where hospital has positions and all preferences are strict. For a matching , write for the set of doctors assigned to . Let and be any two stable matchings. Then
- a doctor is matched under if and only if she is matched under ;
- every hospital fills the same number of positions: for all ;
- every hospital with an empty position under receives the same doctors under :
This is the rural hospitals theorem (Roth 1984, 1986): as long as the mechanism produces stable matchings, changing it cannot give under-subscribed ("rural") hospitals more doctors or different doctors.
Formalization Note Uses the model RuralHospitals.Market (definition RuralHospitals_Market): finite types D (doctors) and H (hospitals); strict preferences given by injective rank functions on Option H / Option D (smaller rank = preferred, none = unmatched / empty position); responsive hospital preferences; capacities capacity : H → ℕ. An assignment is a map μ : D → Option H, and assigned μ h is the finite set of doctors placed at h.
import Mathlib import Definitions.Def_RuralHospitals_Market
namespace RuralHospitals
theorem rural_hospitals_theorem {D H : Type*} [Fintype D] [Fintype H] [DecidableEq H]
(M : Market D H) (μ ν : Assignment D H) (hμ : M.IsStable μ) (hν : M.IsStable ν) :
(∀ d, (μ d).isSome = (ν d).isSome) ∧
(∀ h, (assigned μ h).card = (assigned ν h).card) ∧
∀ h, (assigned μ h).card < M.capacity h → assigned ν h = assigned μ h := by sorry
end RuralHospitals
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.