01_STAR/03_Criteria/majority_criterion — the Majority Criterion, in two tiny elections¶
Two 5-voter STAR elections that isolate STAR's Majority-Criterion behavior — and, in doing so, demonstrate the Relaxed Majority Criterion (the "needs two rivals, not one" point). Same voters both times; only the majority's generosity to a second candidate changes.
| Case (sheet id) | The majority backs… | Winner | Shows |
|---|---|---|---|
| BV95a — page · yaml | one rival (Bruno 4, Cleo 0) | Ada ✓ | the majority's favorite survives — RMC safety |
| BV95b — page · yaml | two rivals (Bruno 4, Cleo 3) | Bruno ✗ | the Majority-Criterion failure |
A third, larger case asks the other question — not "does STAR pass?" but "what does passing cost?"
| Case | Setup | Majority-criterion methods | Whole-ballot methods |
|---|---|---|---|
| Majority vs. consensus, 51/49 · yaml | a polarized electorate + a candidate everyone is content with | Alma (Choose-One, RCV-IRV) | Celia (Score, STAR, Ranked Robin) |
It's the standard argument against the majority criterion, made runnable — and it doubles as the verification behind electowiki's cardinal-voting article, claim-checked.
Full concept, the Relaxed Majority Criterion, the Later-No-Harm connection, and references: Majority Criterion topic hub.
Confirmed on BetterVoting. Both were reproduced live on bettervoting.com and BV agrees with the LH result: BV95a → 9m6rxr elects Ada; BV95b → 7pdq3r elects Bruno (5 ballots each, nTallyVotes 5). Frozen exports: bv95a…_bv_export.json · bv95b…_bv_export.json. (Created via tools_adam/create_bv_test_election.py.)
Both files carry expected_winners and are checked by test_single_winner_positive.py.