EconCSLib.SocialChoice.FairDivision.Basic #
Generic fair-division vocabulary as a structured special case of social choice.
This file introduces:
Allocation N Sas the common shape of an allocationInstancefor fully general fair-division problems with preferences over complete allocationsShareInstancefor the standard no-externality model where each agent ranks only the share they receive- the lift
ShareInstance.toInstance, showing how fair division fits into the generic social-choice layer
@[reducible, inline]
A fair-division allocation assigns each agent a share.
Equations
- SocialChoice.FairDivision.Allocation N S = (N → S)
Instances For
structure
SocialChoice.FairDivision.Instance
(N : Type u_1)
(R : Type u_2)
(S : Type u_3)
:
Type (max (max u_1 u_2) u_3)
A fully general fair-division instance.
This allows preferences over complete allocations, so it can express externalities or other global allocation comparisons.
- resource : R
Resource-side data for the instance.
- feasible : Allocation N S → Prop
Feasible allocations for the given resource data.
- pref : N → Pref (Allocation N S)
Each agent's preference over complete allocations.
Instances For
def
SocialChoice.FairDivision.SolutionConcept
(N : Type u_1)
(R : Type u_2)
(S : Type u_3)
:
Type (max (max (max (max u_3 u_2) u_1) u_3) u_1)
A fair-division solution concept is a predicate selecting acceptable allocations relative to a fully general instance.
Equations
Instances For
def
SocialChoice.FairDivision.Rule
(N : Type u_1)
(R : Type u_2)
(S : Type u_3)
:
Type (max (max (max u_3 u_2) u_1) u_1 u_3)
A fair-division rule returns a feasible allocation for every instance.
Equations
- SocialChoice.FairDivision.Rule N R S = ((I : SocialChoice.FairDivision.Instance N R S) → { A : SocialChoice.FairDivision.Allocation N S // I.feasible A })