Documentation

EconCSLib.SocialChoice.FairDivision.Divisible.CutAndChoose

EconCSLib.SocialChoice.FairDivision.Divisible.CutAndChoose #

The cut-and-choose protocol for 2-agent divisible fair division.

Protocol #

  1. The cutter (agent 0) cuts the cake at a position t ∈ [0,1], producing two pieces:
    • Left piece: [0, t]
    • Right piece: (t, 1]
  2. The chooser (agent 1) picks whichever piece they value more (ties go to the left).
  3. The cutter receives the remaining piece.

Main definitions #

Main results #

Relationship to ef_exists_two_agents #

ef_exists_two_agents in EnvyFree.lean proves EF existence directly as an existential. This file adds structure: the protocol is an explicit function parametrized by the cut point, and the two fairness guarantees (chooser and cutter) are proved separately. The key separation is that chooser_isEnvyFree holds for any cut — the chooser's guarantee does not depend on the cut being fair.

References #

Protocol definition #

The cut-and-choose allocation at cut point t ∈ [0,1].

The chooser (agent 1) receives the half they value more:

  • If μ 1 (Iic t) ≥ μ 1 (Ioi t), agent 1 takes [0, t]; agent 0 gets (t, 1].
  • Otherwise, agent 1 takes (t, 1]; agent 0 gets [0, t].

The allocation is noncomputable because measures are noncomputable.

Equations
Instances For

    A cut point t is fair (for the cutter, agent 0) if agent 0's measure is split equally: μ 0 [0, t] = μ 0 (t, 1].

    At a fair cut the cutter is indifferent between the two halves, so they cannot envy whichever piece the chooser selects.

    Equations
    Instances For

      Simp lemmas for agent-specific pieces #

      @[simp]

      Cutter (agent 0) receives the right piece when the chooser prefers left, and the left piece otherwise.

      @[simp]

      Chooser (agent 1) receives the left piece if they prefer it, the right piece otherwise.

      The output is always a valid partition #

      For any cut point t, the cut-and-choose allocation is a complete measurable partition of [0,1] into two pieces. This holds regardless of whether the cut is fair.

      Chooser guarantee #

      The chooser (agent 1) never envies the cutter, regardless of the cut point.

      Since agent 1 selects whichever piece they value more, their own piece is always at least as valuable as the cutter's piece. No fairness condition on the cut is needed.

      This is the key asymmetry of cut-and-choose: the chooser's guarantee is unconditional; only the cutter's guarantee depends on the cut being fair.

      Cutter guarantee at fair cut #

      The cutter (agent 0) does not envy the chooser at a fair cut.

      If the cut point t satisfies IsFairCutPoint μ t, then agent 0 values both halves equally. Regardless of which half the chooser takes, the cutter is indifferent.

      Combined EF #

      Both agents are envy-free at any fair cut point.

      This combines chooser_isEnvyFree (unconditional) and cutter_isEnvyFree_of_fair (requires fair cut) to give the full IsEnvyFree predicate for both agents.

      Fair cut existence #

      A fair cut always exists for finite non-atomic μ 0 on [0,1].

      This is the c = μ([0,1])/2 case of DubinsSpanier.cut_exists.

      EF existence corollary #

      EF allocations always exist for 2 agents with non-atomic finite measures (via cut-and-choose).

      This recovers ef_exists_two_agents from EnvyFree.lean as a corollary: fairCutPoint_exists gives a cut point tstar where agent 0's measure is halved, and cutAndChoose_isEnvyFree gives EF at any fair cut.