Social welfare functionals #
In Sen's framework for social choice with interpersonal comparisons, each individual assigns each
alternative a value, and a rule sends every profile of values to an overall relation on the
alternatives, read x ⪰ y. Here a profile assigns each alternative its vector of values, one per
individual; the individuals may equally be voters, criteria or dimensions.
The informational requirements on a rule are invariance under a class of transformation vectors: strictly increasing maps, common-unit positive affine maps, similarities, and the comparability classes that apply one map to every individual. Arrow's conditions and the strong Pareto, Pareto-indifference and anonymity conditions are predicates on rules.
Main definitions #
SocialChoice.Profile,SocialChoice.Rule: profiles of values and rules on them.SocialChoice.Invariant: invariance under a class of transformation vectors, with the classesordinal,ordinalLevel,cardinalUnit,ratio,cardinalFullandratioFull.SocialChoice.WeakPareto,SocialChoice.Independent,SocialChoice.WeakOrderValued,SocialChoice.IsDictator: Arrow's conditions.
Implementation notes #
- A rule is total on profiles, so Arrow's unrestricted-domain condition is built in; a domain restriction is a hypothesis of the statement that needs it.
- Outputs are bare relations, since majority rule is not transitive.
AsymmRelis the strict part of an output andAntisymmRelits indifference part.
References #
A profile assigns each alternative its vector of values, one per individual.
Equations
- SocialChoice.Profile ι α K = (α → ι → K)
Instances For
An aggregation rule assigns to each profile a relation on the alternatives, read x ⪰ y.
Equations
- SocialChoice.Rule ι α K = (SocialChoice.Profile ι α K → α → α → Prop)
Instances For
A vector of transformations, one per individual, applied to a profile.
Equations
- SocialChoice.Profile.transform f v x i = f i (v x i)
Instances For
Informational invariance #
Invariance of a function of profiles, such as a rule or a statement about values, under a class of transformation vectors.
Equations
- SocialChoice.Invariant T a = ∀ (f : ι → K → K), f ∈ T → ∀ (v : SocialChoice.Profile ι α K), a (SocialChoice.Profile.transform f v) = a v
Instances For
Vectors of strictly increasing transformations; invariance under them is ordinal non-comparability.
Equations
- SocialChoice.ordinal = {f : ι → K → K | ∀ (i : ι), StrictMono (f i)}
Instances For
Vectors applying one strictly increasing transformation to every individual; invariance under them is ordinal level comparability.
Equations
- SocialChoice.ordinalLevel = {f : ι → K → K | ∃ (u : K → K), StrictMono u ∧ ∀ (i : ι), f i = u}
Instances For
Common-unit positive affine transformation vectors; invariance under them is cardinal unit comparability.
Equations
- SocialChoice.cardinalUnit = {f : ι → K → K | ∃ (a : K), 0 < a ∧ ∃ (b : ι → K), ∀ (i : ι) (t : K), f i t = a * t + b i}
Instances For
Similarity transformation vectors; invariance under them is ratio-scale non-comparability.
Equations
- SocialChoice.ratio = {f : ι → K → K | ∃ (a : ι → K), (∀ (i : ι), 0 < a i) ∧ ∀ (i : ι) (t : K), f i t = a i * t}
Instances For
Vectors applying one positive affine transformation to every individual; invariance under them is cardinal full comparability.
Equations
- SocialChoice.cardinalFull = {f : ι → K → K | ∃ (a : K), 0 < a ∧ ∃ (b : K), ∀ (i : ι) (t : K), f i t = a * t + b}
Instances For
Vectors applying one similarity transformation to every individual; invariance under them is ratio-scale full comparability.
Equations
- SocialChoice.ratioFull = {f : ι → K → K | ∃ (a : K), 0 < a ∧ ∀ (i : ι) (t : K), f i t = a * t}
Instances For
Conditions on rules #
Pareto indifference says that alternatives with the same vector of values are indifferent.
Equations
- SocialChoice.ParetoIndifferent a = ∀ (v : SocialChoice.Profile ι α K) (x y : α), v x = v y → AntisymmRel (a v) x y
Instances For
Independence of irrelevant alternatives says that the verdict on a pair depends only on the vectors of that pair.
Equations
- SocialChoice.Independent a = ∀ (v w : SocialChoice.Profile ι α K) (x y : α), v x = w x → v y = w y → (a v x y ↔ a w x y)
Instances For
Every output is transitive.
Equations
- SocialChoice.Transitive a = ∀ (v : SocialChoice.Profile ι α K), IsTrans α (a v)
Instances For
Every output is complete.
Equations
- SocialChoice.Complete a = ∀ (v : SocialChoice.Profile ι α K), Std.Total (a v)
Instances For
Every output is a weak ordering, a complete preorder.
Equations
Instances For
Every output is a quasi-ordering, a preorder.
Equations
- SocialChoice.QuasiOrderValued a = ∀ (v : SocialChoice.Profile ι α K), IsPreorder α (a v)
Instances For
Anonymity says that permuting the individuals leaves the output unchanged.
Equations
- SocialChoice.Anonymous a = ∀ (σ : Equiv.Perm ι) (v : SocialChoice.Profile ι α K), (a fun (x : α) => v x ∘ ⇑σ) = a v
Instances For
Weak Pareto says that an alternative every individual ranks strictly above another is strictly preferred.
Equations
- SocialChoice.WeakPareto a = ∀ (v : SocialChoice.Profile ι α K) (x y : α), (∀ (i : ι), v y i < v x i) → AsymmRel (a v) x y
Instances For
Strong Pareto says that an alternative every individual ranks weakly above another is weakly preferred, and strictly so if some individual ranks it strictly above.
Equations
- SocialChoice.StrongPareto a = ∀ (v : SocialChoice.Profile ι α K) (x y : α), v y ≤ v x → a v x y ∧ ((∃ (i : ι), v y i < v x i) → AsymmRel (a v) x y)
Instances For
Individual i is a dictator when its strict rankings are the strict overall rankings.
Equations
- SocialChoice.IsDictator a i = ∀ (v : SocialChoice.Profile ι α K) (x y : α), v y i < v x i → AsymmRel (a v) x y
Instances For
No individual is a dictator.
Equations
- SocialChoice.NonDictatorial a = ∀ (i : ι), ¬SocialChoice.IsDictator a i