felsenthal_paradoxes — Felsenthal's paradox examples, run for real¶
Worked examples from Dan S. Felsenthal, "Review of Paradoxes Afflicting Various Voting Procedures Where One Out of m Candidates (m ≥ 2) Must Be Elected" (University of Haifa / LSE, revised 26 May 2010; Leverhulme Trust Voting Power in Practice workshop, Château du Baffy, Normandy). Each example becomes a live BetterVoting election plus LH-engine YAML case(s), tagged by paradox (paradoxes: field) and indexed in the paradox registry. Teaching pages: the voting-paradoxes teaching pages.
Cases¶
| Case | What it shows | Races | Live | YAML |
|---|---|---|---|---|
| BV2144 — Felsenthal Ex.1 | Four plurality paradoxes at once (Condorcet winner, Condorcet loser, absolute loser, SCC/spoiler) in a 7-voter election; STAR resolves all four | Choose-One → Ana · STAR → Bo | results ↗ | plurality · star |
| BV2145 — Felsenthal Ex.2 (1 of 2) | Plurality-with-runoff (= IRV for 3 candidates) eliminates the Condorcet winner Ada; + the SCC note (Cleo's exit would elect Ada outright) | IRV → Ben · RR → Ada · STAR → Ada | results ↗ | irv · rr · star |
| BV2146 — Felsenthal Ex.2 (2 of 2) | Non-monotonicity, live: two voters RAISE Ben and Ben loses (elimination flips Ada→Cleo); RR & STAR unmoved | IRV → Ada · RR → Ada · STAR → Ada | results ↗ | irv · rr · star |
| BV2147 — Felsenthal Ex.3 (I of III) | District I (17 voters): runoff deletes Alma, elects Bruno; the district is a Condorcet cycle | IRV → Bruno · STAR → Bruno | results ↗ | irv · star |
| BV2148 — Felsenthal Ex.3 (II of III) | District II (15 voters): Bruno wins round one with a majority (8 of 15); also the Condorcet winner | IRV → Bruno · STAR → Bruno | results ↗ | irv · star |
| BV2149 — Felsenthal Ex.3 (III of III) | REINFORCEMENT paradox, live: Bruno won both districts, the amalgamated 32 voters elect Alma (17–15); STAR stays with Bruno | IRV → Alma · STAR → Bruno | results ↗ | irv · star |
| BV2150 — Felsenthal Ex.4 (1 of 2) | Full 11-voter electorate: the runoff deletes the Condorcet winner Beth and elects Carl — the Andy voters' worst choice | IRV → Carl · RR → Beth · STAR → Beth | results ↗ | irv · rr · star |
| BV2151 — Felsenthal Ex.4 (2 of 2) | NO-SHOW paradox, live: two Andy voters stay home and their side gets Beth instead of Carl; read in reverse = the weak TWIN paradox; RR & STAR unmoved | IRV → Beth · RR → Beth · STAR → Beth | results ↗ | irv · rr · star |
| BV2152 — Felsenthal Ex.5 | Approval misses the Condorcet winner (Felsenthal & Maoz 1988): mixed approval cutoffs elect Anna over Bert, who beats everyone head-to-head | Approval → Anna · RR → Bert | results ↗ | approval · rr |
| Felsenthal Ex.6 (LH-only) | Approval can elect a PARETO-DOMINATED candidate: top-three cutoffs tie Aria/Beau 3–3 though every voter prefers Aria; adversarial lot exhibits the Beau branch (random on BV → not freezable) | Approval → Beau (by lot) · RR → Aria | — | approval · rr |
| BV2153 — Felsenthal Ex.7 | ABSOLUTE MAJORITY paradox: Amos is 51 of 100 voters' first choice, everyone approves top two, Bella (100 approvals) wins; IRV & RR elect Amos | Approval → Bella · IRV → Amos · RR → Amos | results ↗ | approval · irv · rr |
| BV2154 — Felsenthal Ex.8 | The absolute loser wins Approval on ONE strategic ballot — and the three races give THREE winners (April / Clara / Bruce) from one electorate | Approval → April · IRV → Clara · RR → Bruce | results ↗ | approval · irv · rr |
| BV2160 — Fishburn Ex.14 | Borda's TRUNCATION paradox on paper (C 20 → A/B 16 tie when three voters truncate); live races split three ways with Borda: STAR → B, Choose-One → A, Borda → C | STAR → B · Plurality → A | results ↗ | star · plurality |
| BV2161 — Felsenthal Ex.15 | Borda's SCC paradox on paper (C wins; B exits → A) — arithmetic-corrected profile; STAR & Choose-One agree on C | STAR → C · Plurality → C | results ↗ | star · plurality |
| BV2162 — Nurmi Ex.16 (1 of 2) | Full sincere rankings: RCV-IRV elects A over the Condorcet winner B; STAR & RR elect B | STAR → B · IRV → A · RR → B | results ↗ | star · irv · rr |
| BV2163 — Nurmi Ex.16 (2 of 2) | TRUNCATION paradox, live: 17 voters rank only D, their ballots exhaust, and B (their preference over A) wins; STAR & RR unmoved | STAR → B · IRV → B · RR → B | results ↗ | star · irv · rr |
| BV2164 — Coombs Ex.17 | Coombs (paper) deletes the CONDORCET WINNER Arlo first — last-ranked by the most voters — and elects Bree; STAR & RR elect Arlo | STAR → Arlo · Plurality → Bree · RR → Arlo | results ↗ | star · plurality · rr |
| BV2165 — Coombs Ex.19 (1 of 2) | Full 15-voter electorate: Coombs (paper) → Boone; STAR → Boone (runoff 8–7), Choose-One → Cass; cyclic profile (no RR/IRV races) | STAR → Boone · Plurality → Cass | results ↗ | star · plurality |
| BV2166 — Coombs Ex.19 (2 of 2) | NO-SHOW paradox, live — and STAR FLIPS TOO: two abstainers get their favorite Cass under Coombs (paper) and under STAR's runoff (39/37/41, 9–4); first live score-family no-show case, shown honestly | STAR → Cass · Plurality → Cass | results ↗ | star · plurality |
| BV2167 — Minimax Ex.29 | Minimax (paper) elects D — the Condorcet AND absolute loser, who loses every matchup 5–6 but never badly; Choose-One agrees (5 first choices); STAR elects the cycle member B | STAR → B · Plurality → D | results ↗ | star · plurality |
The appendix is now fully covered: §A1 (Plurality, Ex.1), §A2 (plurality-with-runoff, Ex.2–4), §A3 (Approval, Ex.5–8), §A4 (successive elimination, Ex.9–12 — worked tables, no elections: the procedure exists in neither BetterVoting nor the LH engine), §A5 (Borda, Ex.13–15 — Ex.13 is BV2153's electorate and lives as a Borda section on that page; Borda counts are paper-only for the same reason), §A6 (RCV-IRV, which Felsenthal calls the 'Alternative Vote'; Ex.2–4 reused + Nurmi's Ex.16), §A7 (Coombs, Ex.17–22 — worked tables, with Ex.17 and the Ex.19 pair live as BV2164–66), §A8 (Range Voting, Ex.23–24 — paper only: the 1–10 grades don't fit BV's 0–5 ballot), §A9 (Majority Judgment, Ex.25–28 — paper only, per Felsenthal & Machover 2008), and §A10 (Condorcet/Minimax, Ex.29–33 — worked tables, Ex.29 live as BV2167). New examples from other sources continue through the standard BV-backed case workflow.
The procedures nothing here could count — now runnable¶
§A4, §A7, §A8, §A9 and §A10 examine five procedures no tabulator in this repo could count, so for a long time their examples existed only as ballot profiles written out in a sentence. They are now runnable case files, counted by four tools in pref_voting_tabulation_engine/ — coombs_report.py, minimax_report.py, successive_elimination_report.py and grade_methods_report.py — each cross-checked against Eric Pacuit's pref_voting where the library has a counterpart. All 27 counts reproduce Felsenthal's published results, with three documented exceptions (Minimax Ex.31, successive elimination Ex.10, and MJ Ex.26, which has no data here to run).
None are BV-backed: BetterVoting offers none of these methods, and several are deliberately indeterminate (Minimax Ex.32, Coombs Ex.21 and successive elimination Ex.10 all end in genuine ties, which is the lesson). Ranked cases are tabulated under a supported method for their _tabulated mirror — Minimax and successive-elimination cases as Ranked Robin, because the pairwise matrix is exactly what both consume, and Coombs cases as RCV-IRV, the mirror-image count Coombs inverts. The five grade-ballot cases carry a grades: block instead of ballots:, keeping Felsenthal's 1–10 and A–J scales, which fit neither the engine's 0–5 validation nor BetterVoting; they have no mirror and no generated page, and their counts live on the concept pages.
| Case | What it shows | Under its own rule | LH count |
|---|---|---|---|
| Coombs Ex.18 | NON-MONOTONICITY: four voters raise Bree and Bree loses — Dana is deleted first instead of Arlo | Coombs → Arlo (was Bree) | IRV → Arlo |
| Coombs Ex.20 — District I | 34 voters; A deleted on 14 last places, B takes 18 of 34 | Coombs → B | IRV → B |
| Coombs Ex.20 — District II | 7 voters, B has an outright majority (source prints "6", lists 7 — typo flagged) | Coombs → B | IRV → B |
| Coombs Ex.20 — amalgamated | REINFORCEMENT: both districts chose B, the union deletes C and elects A | Coombs → A | IRV → B |
| Coombs Ex.21 — before | 20 voters; A deleted on 7 last places, B wins 11 of 20 | Coombs → B | IRV → B |
| Coombs Ex.21 — after | TWIN: two more B-first voters arrive and B's certain win becomes an A/B tie at the final deletion | Coombs → tie | IRV → B |
| Coombs Ex.22 | SCC: C drops out and A wins on a first-round majority instead of B | Coombs → B, then A | IRV → A both ways |
| Minimax Ex.30 — before | 19 voters, cyclic; worst losses A 13, B 11, C 12, D 14 | Minimax → B | RR → A |
| Minimax Ex.30 — after | NO-SHOW / TWIN: three C>A>B>D voters stay home and get A, which they prefer to B | Minimax → A | RR → D |
| Minimax Ex.31 | TRUNCATION — convention-dependent: Felsenthal's equal-probability reading elects C, this repo's reading keeps B | Minimax → C or B | RR → A |
| Minimax Ex.32 — District II | 3 voters, D is the outright majority winner | Minimax → D | RR → D |
| Minimax Ex.32 — amalgamated | REINFORCEMENT: both districts chose D; combined, four of six pairs draw 7–7 and B/D tie | Minimax → tie | RR → B |
| Minimax Ex.33 | SCC: B drops out and A becomes the Condorcet winner instead of D | Minimax → D, then A | RR → D |
| Succ. elim. Ex.9 | PARETO + PATH INDEPENDENCE + SCC: agenda D,A,C,B elects B, whom all 11 voters rank below A; agenda A,B,C,D elects D; dropping D elects A |
SE → B / D / A by agenda | RR → A |
| Succ. elim. Ex.9 — no-show | Two D-first voters stay home, the cycle breaks, A wins from any agenda | SE → A | RR → A |
| Succ. elim. Ex.10 — District I | Three voters, agenda B,D,A,C elects C |
SE → C | RR → B |
| Succ. elim. Ex.10 — District II | One voter; C is trivially the Condorcet winner | SE → C | RR → C |
| Succ. elim. Ex.10 — amalgamated | REINFORCEMENT, conditionally: all three rounds tie 2:2, so C or B depending on the tie-break | SE → C or B | RR → C |
| Succ. elim. Ex.11 — before | Six voters; round 1 ties, A advances, C wins | SE → C | RR → B |
| Succ. elim. Ex.11 — after | TWIN: an exact copy of an existing C-first ballot arrives and B wins instead | SE → B | RR → B |
| Succ. elim. Ex.12 — sincere | Agenda B,C,D,A elects D — the A>B>C>D voter's last choice |
SE → D | RR → C |
| Succ. elim. Ex.12 — truncated | TRUNCATION: that voter names only A, sits out round 1, and gets A | SE → A | RR → C |
The five grade-ballot cases have no generated page — they are counted by grade_methods_report.py and read on their concept pages:
| Case | What it shows | Under its own rule |
|---|---|---|
| Range Ex.23 | Four paradoxes, two candidates: one 10 outvotes three majorities | RV → y (Condorcet and absolute loser); MJ → x |
| Range Ex.24 | TRUNCATION: V4 leaves y ungraded and x wins (--ungrade y/V4) |
RV → y, then x |
| MJ Ex.25 | The median elects y though 2 of 3 grade x higher | MJ → y |
| MJ Ex.27 | NO-SHOW / TWIN: V1 and V2 abstain and get y (--abstain V1,V2) |
MJ → x, then y |
| MJ Ex.28 | TRUNCATION: V6 grades only y, x's median falls D → A (--ungrade x/V6) |
MJ → x, then y |