EconCSLib.SocialChoice.FairDivision.Welfare #
Shared social-welfare objectives for the standard no-externality cardinal fair-division layer.
noncomputable def
SocialChoice.FairDivision.utilitarianWelfare
{N : Type u_1}
{S : Type u_2}
[Fintype N]
(u : N → S → ℝ)
(A : Allocation N S)
:
Utilitarian welfare: the sum of agents' utilities from their own shares.
Equations
- SocialChoice.FairDivision.utilitarianWelfare u A = ∑ i : N, u i (A i)
Instances For
noncomputable def
SocialChoice.FairDivision.egalitarianWelfare
{N : Type u_1}
{S : Type u_2}
[Fintype N]
[Nonempty N]
(u : N → S → ℝ)
(A : Allocation N S)
:
Egalitarian welfare: the minimum utility among agents.
Equations
- SocialChoice.FairDivision.egalitarianWelfare u A = Finset.univ.inf' ⋯ fun (i : N) => u i (A i)
Instances For
def
SocialChoice.FairDivision.IsUtilitarianOptimal
{N : Type u_1}
{S : Type u_2}
[Fintype N]
(feasible : Allocation N S → Prop)
(u : N → S → ℝ)
(A : Allocation N S)
:
Utilitarian optimality: no feasible allocation has larger utilitarian welfare.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
SocialChoice.FairDivision.IsMaxmin
{N : Type u_1}
{S : Type u_2}
[Fintype N]
[Nonempty N]
(feasible : Allocation N S → Prop)
(u : N → S → ℝ)
(A : Allocation N S)
:
Maximin optimality: no feasible allocation has larger egalitarian welfare.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
SocialChoice.FairDivision.utilitarianWelfare_mono
{N : Type u_1}
{S : Type u_2}
[Fintype N]
(u : N → S → ℝ)
(A B : Allocation N S)
(h : ∀ (i : N), u i (A i) ≤ u i (B i))
:
Utilitarian welfare is monotone: pointwise improvement implies welfare improvement.
@[simp]
theorem
SocialChoice.FairDivision.utilitarianWelfare_unique
{N : Type u_1}
{S : Type u_2}
[Fintype N]
[Unique N]
(u : N → S → ℝ)
(A : Allocation N S)
:
For a unique agent, utilitarian welfare is just that agent's utility.
theorem
SocialChoice.FairDivision.egalitarianWelfare_le
{N : Type u_1}
{S : Type u_2}
[Fintype N]
[Nonempty N]
(u : N → S → ℝ)
(A : Allocation N S)
(i : N)
:
Egalitarian welfare is bounded above by each agent's utility.
theorem
SocialChoice.FairDivision.nsmul_egalitarianWelfare_le_utilitarianWelfare
{N : Type u_1}
{S : Type u_2}
[Fintype N]
[Nonempty N]
(u : N → S → ℝ)
(A : Allocation N S)
(hle : ∀ (i : N), egalitarianWelfare u A ≤ u i (A i))
:
Without division, egalitarian welfare is bounded above by utilitarian welfare multiplied by the number of agents.