Introduction

Three friends are choosing a restaurant. Ana prefers sushi to tacos to pizza. Beto prefers tacos to pizza to sushi. Carla prefers pizza to sushi to tacos. Everyone ranks honestly, every option has a fan — and yet, as we'll see, there is no fair way to turn these rankings into a single group choice.

That is not a failure of imagination. It is a theorem. In 1951, the economist Kenneth Arrow proved that once you have three or more options, no ranked voting system can satisfy a short list of conditions that all look completely reasonable: no dictator, respect for unanimity, and decisions that don't flip because of an irrelevant third option.

Voting feels like a solved problem. Arrow showed that "perfectly fair" is not a goal we are merely failing to reach — it is a place that cannot exist.

Build the Ballots

Below are three voters, each ranking three options A, B and C. Reorder anyone's ballot, then press Run majority votes. The demo holds three head-to-head elections: A vs B, B vs C, and A vs C — each decided by simple majority.

<p class="hint">{{hint}}</p>
<div id="voters" class="voters"></div>
<div class="btns">
  <button id="preset" type="button">{{btn_preset}}</button>
  <button id="run" type="button">{{btn_run}}</button>
  <button id="reset" type="button" class="ghost">{{btn_clear}}</button>
</div>
<div id="results" class="results"></div>
<div class="status" id="status">{{status_initial}}</div>
* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; color: #222; margin: 0; }
.hint { font-size: .9rem; color: #444; margin: 0 0 .8rem; line-height: 1.45; }
.voters { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: .4rem 0 .9rem; }
.voter { border: 1px solid #cdd9e3; border-radius: 10px; padding: .6rem; text-align: center; }
.voter h4 { margin: 0 0 .5rem; font-size: .85rem; color: #1d3557; }
.ballot { display: flex; flex-direction: column; gap: .3rem; cursor: pointer; user-select: none; }
.rank { background: #e8eef3; border: 1px solid #cdd9e3; border-radius: 7px;
        font: 700 16px ui-monospace, monospace; color: #1d3557; padding: .35rem; transition: background .1s; }
.ballot:hover .rank { background: #dce6ef; }
.rank .pos { font-size: .65rem; color: #6b7d8f; display: block; font-weight: 600; }
.btns { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .6rem; }
button { font: 600 14px system-ui, sans-serif; padding: .45rem .9rem; border: 1px solid #1d3557;
         background: #1d3557; color: #fff; border-radius: 8px; cursor: pointer; }
button.ghost { background: #fff; color: #1d3557; }
.results { display: flex; flex-direction: column; gap: .35rem; margin: .4rem 0; }
.match { font: 600 14px system-ui, sans-serif; padding: .4rem .6rem; border-radius: 7px; background: #f1f4f7; }
.match .win { color: #0a7d33; font-weight: 700; }
.status { font-size: 1rem; font-weight: 600; margin: .5rem 0; min-height: 1.4em; }
.status.cycle { color: #c92f3c; }
.status.ok { color: #0a7d33; }
// Code not found

Load the paradox preset and look at what majority rule produces: a clear majority prefers A to B, another prefers B to C, and yet another prefers C to A. The group's "preference" runs in a circle with no winner — a Condorcet cycle. Whatever rule you pick to break it, you can break only by violating one of Arrow's fairness conditions. There is no honest way out.

The Real Result

What exactly did Arrow prove? Not that voting is bad — that a specific bundle of fairness demands is jointly impossible.

With three or more options, suppose a ranked voting rule turns everyone's rankings into one group ranking. Arrow asked it to satisfy four mild-sounding conditions:

  • Unrestricted domain: it must handle any set of honest individual rankings.
  • Unanimity (Pareto): if everyone prefers X to Y, the group must too.
  • Independence of irrelevant alternatives (IIA): the group's choice between X and Y depends only on how voters rank X versus Y — not on some unrelated option Z.
  • Non-dictatorship: no single voter's ranking always decides the outcome.

Arrow's impossibility theorem (1951) states the verdict: with three or more alternatives, the only rule satisfying unrestricted domain, unanimity and IIA is a dictatorship. Demand non-dictatorship too, and no such rule exists. This is a proven impossibility — Arrow won the 1972 Nobel Prize in Economics in part for it.

The Condorcet cycle you built is the impossibility in miniature: it shows that even simple majority rule can fail to produce a consistent group ranking, and the same tension behind P vs NP — where one clean property forces a costly trade-off — appears here as a wall you cannot climb.

Where It Matters

"Combine many individual preferences into one collective decision" is everywhere, and Arrow's theorem sets a hard limit on how fair that combination can be:

  • Elections and referenda: ranked-choice, Borda count and Condorcet methods each dodge some of Arrow's conditions while sacrificing others — none escapes the theorem.
  • Committees and standards bodies: any group ranking proposals inherits the same impossibility.
  • Recommender and ranking systems: merging many users' or signals' preferences into one list is social choice in disguise.
  • AI alignment: aggregating the values of many people into a single objective for a system runs into Arrow head-on.

Understand Arrow and you see why every voting reform is a trade-off, not a cure — much like the constraint puzzles behind SAT, the difficulty is structural, not a lack of cleverness.

Conclusion

Arrow's theorem delivers an uncomfortable but liberating truth: there is no perfect voting system, and there never can be. Once three honest opinions can chase each other in a circle, every rule that resolves them must quietly break one of the conditions we'd call "fair."

So the next time someone insists their voting method is the fair one, you'll know the secret. Every system is a compromise — a chosen sacrifice among impossible-to-satisfy ideals — and like P vs NP, the limit isn't waiting to be engineered away. It was proven, once and for all, in 1951.

Share this article

Pick a channel — or use your device's native share sheet.

Comments

Loading comments...

https://www.kipuhub.com/en/article/arrows-theorem/Content licensed under CC BY-NC 4.0.