Documentation

EconCSLib.MarketDesign.Matching.Basic

EconCSLib.MarketDesign.Matching.Basic #

Stable matching theory: two-sided markets where agents on each side have preferences over agents on the other side.

Main definitions #

Design #

MatchingMarket stores only preference data. It does not bake [Fintype M] [Fintype W] into the structure. Finiteness belongs at the algorithm or existence-theorem layer, not in the market itself.

Preferences are bundled using the foundation-level Pref interface, applied to Option W and Option M so that none represents being unmatched. Strict preference is derived uniformly via strict.

References #

Matching market #

structure MatchingMarket (M : Type u_1) (W : Type u_2) :
Type (max u_1 u_2)

A two-sided matching market. M and W are the two sides (e.g., men and women, hospitals and residents). Each agent has a preference over agents on the other side plus the option of being unmatched (none).

Instances For

    Matching #

    structure Matching (M : Type u_1) (W : Type u_2) :
    Type (max u_1 u_2)

    A matching is a partial bijection between M and W. matchM i is the partner of iM (or none if unmatched). matchW j is the partner of jW (or none if unmatched).

    Instances For
      theorem Matching.ext_iff {M : Type u_1} {W : Type u_2} {x y : Matching M W} :
      theorem Matching.ext {M : Type u_1} {W : Type u_2} {x y : Matching M W} (matchM : x.matchM = y.matchM) (matchW : x.matchW = y.matchW) :
      x = y

      Stability #

      def Matching.IsBlocking {M : Type u_1} {W : Type u_2} (market : MatchingMarket M W) (μ : Matching M W) (m : M) (w : W) :

      A pair (m, w) is a blocking pair for matching μ if both m and w strictly prefer each other to their current partners. [MSZ 22.5]

      Equations
      Instances For
        def Matching.IsStable {M : Type u_1} {W : Type u_2} (market : MatchingMarket M W) (μ : Matching M W) :

        A matching is stable if it has no blocking pair. [MSZ 22.5]

        Equations
        Instances For
          def Matching.IsIndividuallyRational {M : Type u_1} {W : Type u_2} (market : MatchingMarket M W) (μ : Matching M W) :

          A matching is individually rational if every matched agent strictly prefers their partner to being unmatched.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For