Back to Blog

Arrow's Impossibility Theorem: Why No Perfect Voting System Exists

Understanding Arrow's impossibility theorem, the five fairness axioms for voting systems, why democracy is mathematically hard, and what this means for real-world elections.

2025-07-27
Share
Proofsproofsarrowimpossibilitysocial-choice

Terminology

Term Definition
Social welfare function A function that takes individual preference rankings as input and produces a single collective ranking of all alternatives
Preference ordering A complete, transitive ranking of alternatives by a voter; e.g., $A \succ B \succ C$ means A is preferred to B, which is preferred to C
Unanimity (Pareto efficiency) If every voter prefers $A$ to $B$, the collective ranking must also prefer $A$ to $B$
Independence of irrelevant alternatives (IIA) The collective ranking of $A$ vs $B$ depends only on individual rankings of $A$ vs $B$, not on how voters rank other alternatives
Dictator A voter whose preference always determines the collective ranking, regardless of all other voters' preferences
Non-dictatorship No single voter is a dictator; the system must reflect collective preferences, not just one person's
Transitivity If A is preferred to B and B is preferred to C, then A is preferred to C; the ranking is logically consistent
Condorcet paradox A situation where majority preferences are cyclic: A beats B, B beats C, but C beats A
Gibbard-Satterthwaite theorem Any non-dictatorial voting system with 3+ candidates is susceptible to strategic (dishonest) voting

What & Why

In 1951, Kenneth Arrow proved that no voting system for three or more candidates can simultaneously satisfy a small set of reasonable fairness conditions. Specifically, any social welfare function that produces a transitive collective ranking from individual preference rankings must violate at least one of: unanimity, independence of irrelevant alternatives, or non-dictatorship.

This is not a statement about any particular voting system. It is a mathematical impossibility: no system, however cleverly designed, can satisfy all the fairness criteria at once. Plurality voting, ranked-choice voting, Borda count, Condorcet methods: they all fail at least one axiom.

Arrow's theorem matters because it reveals a fundamental tension in collective decision-making. It explains why every voting system has known flaws, why electoral reform debates never reach a universally satisfying conclusion, and why strategic voting is unavoidable (as the Gibbard-Satterthwaite theorem later confirmed). For computer scientists, it connects to mechanism design, algorithmic game theory, and the design of recommendation and ranking systems.

How It Works

Voting as a Map: Three Voters, Three Candidates

Imagine three voters each ranking three candidates (A, B, C). Each voter submits a complete ranking. The voting system must combine these into one collective ranking. The diagram below shows how different individual preferences feed into a social welfare function, and why the output can be paradoxical.

Voter 1 A > B > C "I like A best" Voter 2 B > C > A "I like B best" Voter 3 C > A > B "I like C best" Voting System F Combines all rankings into one Condorcet Cycle (no winner) A beats B, B beats C, C beats A Majority rule produces a cycle, not a ranking

The Setup

Consider n voters and m \geq 3 alternatives (candidates). Each voter provides a complete, transitive preference ranking. A social welfare function F takes all n rankings as input and produces a single collective ranking.

Arrow's Conditions

Arrow required the social welfare function to satisfy:

  1. Unrestricted domain: F accepts any combination of individual preference orderings.
  2. Unanimity (Pareto): if all voters prefer A to B, the collective ranking places A above B.
  3. Independence of irrelevant alternatives (IIA): the collective ranking of A vs B depends only on how voters rank A vs B, not on their rankings of other candidates.
  4. Transitivity: the collective ranking is transitive (no cycles).
  5. Non-dictatorship: no single voter's preference always determines the outcome.

The Theorem

Arrow proved: for m \geq 3 alternatives, no social welfare function satisfies all five conditions simultaneously. Any function satisfying conditions 1-4 must be a dictatorship (violating condition 5).

Unanimity IIA Non-dictatorship Transitivity Unrestricted domain IMPOSSIBLE for 3+ candidates Every voting system must violate at least one condition Arrow's Impossibility Theorem (1951)

The Condorcet Paradox: Why Cycles Happen

Consider three voters and three candidates:

  • Voter 1: A \succ B \succ C
  • Voter 2: B \succ C \succ A
  • Voter 3: C \succ A \succ B

By majority rule: A beats B (voters 1, 3), B beats C (voters 1, 2), but C beats A (voters 2, 3). The collective preference is cyclic: A \succ B \succ C \succ A. This violates transitivity. The Condorcet paradox shows that majority rule itself fails Arrow's conditions.

Why Each Real System Fails

Plurality voting violates IIA (adding a third candidate can change who wins between the original two). Borda count violates IIA. Ranked-choice voting (instant runoff) violates IIA. Condorcet methods can produce cycles (violating transitivity unless a tiebreaker is added, which then violates another condition).

Complexity Analysis

Voting System Computation Arrow Violation
Plurality $O(n \cdot m)$ IIA (spoiler effect)
Borda count $O(n \cdot m)$ IIA
Ranked-choice (IRV) $O(n \cdot m^2)$ IIA
Condorcet (pairwise) $O(n \cdot m^2)$ Transitivity (cycles possible)
Dictatorship $O(m)$ Non-dictatorship

The number of possible preference orderings for m candidates is m!. With n voters, the input space has (m!)^n possible profiles. For m = 3 and n = 100, this is 6^{100} \approx 6.5 \times 10^{77} possible inputs.

The probability of a Condorcet cycle under the impartial culture model (all preference orderings equally likely) approaches a non-trivial limit as n \to \infty:

$P(\text{Condorcet cycle}) \to 1 - \frac{3}{\pi}\arccos\left(-\frac{1}{3}\right) \approx 0.0877 \text{ for } m = 3$

Implementation

ALGORITHM PluralityVote(ballots, candidates)
INPUT: ballots: list of voter preferences (each is a ranked list)
       candidates: list of candidate names
OUTPUT: winner under plurality voting
BEGIN
  counts <- MAP each candidate TO 0

  FOR EACH ballot IN ballots DO
    firstChoice <- ballot[0]
    counts[firstChoice] <- counts[firstChoice] + 1
  END FOR

  RETURN candidate WITH MAX(counts)
END

ALGORITHM BordaCount(ballots, candidates)
INPUT: ballots: list of ranked preferences
       candidates: list of m candidates
OUTPUT: collective ranking under Borda count
BEGIN
  m <- LENGTH(candidates)
  scores <- MAP each candidate TO 0

  FOR EACH ballot IN ballots DO
    FOR rank FROM 0 TO m - 1 DO
      candidate <- ballot[rank]
      scores[candidate] <- scores[candidate] + (m - 1 - rank)
    END FOR
  END FOR

  RETURN candidates SORTED BY scores DESCENDING
END

ALGORITHM DetectCondorcetCycle(ballots, candidates)
INPUT: ballots: list of ranked preferences
       candidates: list of candidates
OUTPUT: true if a Condorcet cycle exists
BEGIN
  m <- LENGTH(candidates)
  // Build pairwise comparison matrix
  pairwise <- m x m matrix of zeros

  FOR EACH ballot IN ballots DO
    FOR i FROM 0 TO m - 2 DO
      FOR j FROM i + 1 TO m - 1 DO
        a <- ballot[i]
        b <- ballot[j]
        pairwise[a][b] <- pairwise[a][b] + 1
      END FOR
    END FOR
  END FOR

  // Check for cycles using DFS on the "beats" relation
  beats <- empty directed graph
  FOR i FROM 0 TO m - 1 DO
    FOR j FROM 0 TO m - 1 DO
      IF pairwise[i][j] > pairwise[j][i] THEN
        ADD edge i -> j TO beats
      END IF
    END FOR
  END FOR

  RETURN HAS_CYCLE(beats)
END

ALGORITHM DemonstrateIIAViolation()
// Shows how adding a candidate changes the winner (spoiler effect)
BEGIN
  // Election 1: A vs B
  // 60% prefer A, 40% prefer B -> A wins
  ballots1 <- [A>B] x 60 + [B>A] x 40

  // Election 2: A vs B vs C (C is a "spoiler")
  // 35% A>C>B, 25% C>A>B, 40% B>C>A
  // Plurality: A=35, B=40, C=25 -> B wins!
  ballots2 <- [A>C>B] x 35 + [C>A>B] x 25 + [B>C>A] x 40

  // A won without C, B wins with C
  // The ranking of A vs B changed due to C (irrelevant alternative)
  RETURN "IIA violated: adding C changed winner from A to B"
END

Real-World Applications

  • Electoral system design is directly constrained by Arrow's theorem: every proposed voting reform (ranked-choice, approval voting, STAR voting) must accept trade-offs between fairness criteria
  • In algorithmic game theory and mechanism design, Arrow's theorem motivates the study of which fairness properties can be approximately satisfied, leading to results on strategyproofness and incentive compatibility
  • Recommendation systems and ranking aggregation (combining multiple ranked lists into one) face the same impossibility: no aggregation method satisfies all desirable properties simultaneously
  • The Gibbard-Satterthwaite theorem (a consequence of Arrow's ideas) proves that strategic voting is unavoidable, informing the design of auction mechanisms and matching markets
  • In multi-agent AI systems, Arrow's theorem constrains how multiple agents' preferences can be aggregated into a collective decision, relevant to AI alignment and value aggregation
  • Social choice theory, founded on Arrow's work, provides the mathematical framework for analyzing fairness in resource allocation, committee selection, and participatory budgeting

Key Takeaways

  • Arrow's impossibility theorem proves that no voting system for 3+ candidates can simultaneously satisfy unanimity, independence of irrelevant alternatives, transitivity, unrestricted domain, and non-dictatorship
  • The Condorcet paradox demonstrates that majority preferences can be cyclic ($A \succ B \succ C \succ A$), violating transitivity and showing that "the will of the majority" is not always well-defined
  • Every real voting system violates at least one of Arrow's conditions: plurality and Borda violate IIA, Condorcet methods can produce cycles, and only dictatorship satisfies all other conditions
  • The theorem does not say democracy is impossible; it says that every democratic system involves trade-offs between competing notions of fairness
  • Arrow's work founded social choice theory and connects to mechanism design, ranking aggregation, and multi-agent AI alignment
  • The Gibbard-Satterthwaite theorem extends Arrow's result: any non-dictatorial system with 3+ candidates is vulnerable to strategic (dishonest) voting