EconCSLib.SocialChoice.Voting.Decisive #
Decisive coalitions and the decisive-coalitions proof of Arrow's impossibility theorem over strict voting profiles.
This file records the public decisive-coalition vocabulary for the strict ranked-ballot voting domain. The proof route is the standard one:
- unanimity implies the grand coalition is decisive;
- weak decisiveness for one ordered pair spreads to decisiveness for all pairs;
- any decisive coalition of size at least two has a strictly smaller nonempty decisive subcoalition;
- a minimal decisive coalition is a singleton;
- the singleton voter is a dictator.
def
SocialChoice.Voting.IsDecisiveFor
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
(F : SWF N A)
(C : Set N)
(a b : A)
:
A coalition is decisive for a over b if unanimous strict support inside
the coalition forces the social strict preference a ≻ b.
Equations
- SocialChoice.Voting.IsDecisiveFor F C a b = ∀ (P : SocialChoice.Voting.Profile N A), (∀ i ∈ C, SocialChoice.Voting.Prefers P i a b) → strict (F P).rel a b
Instances For
def
SocialChoice.Voting.IsDecisive
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
(F : SWF N A)
(C : Set N)
:
A coalition is decisive if it is decisive for every ordered pair of alternatives.
Equations
- SocialChoice.Voting.IsDecisive F C = ∀ (a b : A), SocialChoice.Voting.IsDecisiveFor F C a b
Instances For
theorem
SocialChoice.Voting.singleton_unanimity_isDictator
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
[Subsingleton N]
{F : SWF N A}
(h : F.Unanimity)
(i : N)
:
F.IsDictator i
theorem
SocialChoice.Voting.singleton_unanimity_dictatorial
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
[Subsingleton N]
[Nonempty N]
{F : SWF N A}
(h : F.Unanimity)
:
def
SocialChoice.Voting.IsWeaklyDecisiveFor
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
(F : SWF N A)
(C : Set N)
(a b : A)
:
Weak decisiveness tests a coalition against a complement unanimously supporting the opposite strict ranking.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
SocialChoice.Voting.isWeaklyDecisiveFor_of_isDecisiveFor
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Fintype A]
{F : SWF N A}
{C : Set N}
{a b : A}
(h : IsDecisiveFor F C a b)
:
IsWeaklyDecisiveFor F C a b
Strict ballot surgery for the decisive-coalitions proof #
theorem
SocialChoice.Voting.arrow_of_unanimity_iia
{N : Type u_1}
{A : Type u_2}
[Fintype N]
[Nonempty N]
[Fintype A]
(h0 : ∃ (x : A) (y : A) (z : A), x ≠ y ∧ x ≠ z ∧ y ≠ z)
{F : SWF N A}
(h1 : F.Unanimity)
(h2 : F.IIA)
:
Arrow's decisive-coalitions theorem for strict finite voting profiles: unanimity and IIA imply dictatorship.