Coombs Ex.22 — SCC: C drops out and A wins instead of B¶
Generated from coombs_ex22_scc.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.
Method: RCV-IRV (Instant Runoff) · 1 seat · Expected winner: A
Scenario¶
Felsenthal's Coombs subset-choice-condition example — the spoiler failure. Source: Dan S. Felsenthal (2010), Appendix A7, Example 22. 29 voters, four candidates: 11×(A>B>C>D), 12×(B>C>D>A), 2×(B>A>D>C), 4×(C>A>D>B). No first-place majority (B leads with 14 of 29), so Coombs deletes the most-hated — A, last on 12 ballots — and B inherits a majority and wins. Now let C drop out before the election. C never had a chance: four first places out of 29, eliminated in every count. But with C gone, A is ranked first by 15 of 29 — an absolute majority — and Coombs elects A on the first count, never reaching a deletion. A candidate who could not win changed who did, purely by being on the ballot. That is the subset choice condition (SCC) failure, the formal version of the spoiler effect. Reproduce the second count with: coombs_report.py --drop C. At 4 candidates and 29 voters this is far from minimal — Brandt, Matthäus & Saile (2022) exhibit a 4-candidate Coombs SCC failure with just 7 voters — so it is kept for readability, not tightness. Labels are Felsenthal's own A/B/C/D so the case can be read side by side with the paper's table; this is an academic reproduction, not a scenario with a cast. Coombs has no tabulator in the LH engine or on BetterVoting, so this file is tabulated as RCV-IRV, the mirror-image count. IRV elects A with C present AND with C removed, so IRV shows no spoiler here and the failure is Coombs' alone — and note that IRV's winner A is the one Coombs only reaches after C leaves. For the Coombs count run tools_adam/pref_voting_tabulation_engine/coombs_report.py.
Ballots¶
Each row is one voter's ranking, most-preferred first (N: prefix = N identical ballots).
11:A>B>C>D
12:B>C>D>A
2:B>A>D>C
4:C>A>D>B
What the engine says¶

Where the votes went. Band thickness is votes; a band leaving an eliminated candidate lands on whoever that ballot ranked next, or on inactive if it ranked nobody who was left.
The count, step by step — the rounds and how the winner is reached:
--- RCV / Instant-Runoff Voting (single winner) ---
Coombs Ex.22 — SCC: C drops out and A wins instead of B
Tabulating 29 ballots (ranked ballots).
ROUND 1
Candidate Votes Status
----------- ------- --------
B 14 Hopeful
A 11 Hopeful
C 4 Rejected
D 0 Rejected
FINAL RESULT
Candidate Votes Status
----------- ------- --------
A 15 Elected
B 14 Rejected
C 0 Rejected
D 0 Rejected
Winner(s) — RCV / Instant-Runoff Voting (single winner)
A
Full audit — preference matrix, Condorcet, and score distribution¶
--- Smith Set (the generalized Condorcet winner) ---
The smallest group whose every member beats every candidate outside it —
the honest answer to "who is even in contention?".
Smith set (3 of 4): A, B, C
Outside (1): D
More than one member ⇒ NO Condorcet winner: the top of the tournament is a
cycle, so the strongest "candidate" is a set, not a person. Which member of
the set should win is exactly what Minimax / Ranked Pairs / Schulze disagree
about — see 05_Ranked_Robin/01_Learn/cycle_resolution.md.
RCV-IRV winner A is INSIDE the Smith set. ✓
Not guaranteed — RCV-IRV is not Smith-efficient — but it holds here.
More: 07_Concepts/topics/smith_set.md
Everything in one file: the _tabulated mirror (regenerated on every run; every analysis forced on).
Run it yourself:
python STARVote_LH_tabulation_engine/starvote_larry_hastings.py method_comparisons/felsenthal_paradoxes/cases/coombs_ex22_scc.yaml
See also¶
More cases in this set: bv2144_mxfmhm_plurality · bv2144_mxfmhm_star · bv2145_6fj2kg_irv · bv2145_6fj2kg_ranked_robin · bv2145_6fj2kg_star · bv2146_krk2px_irv · bv2146_krk2px_ranked_robin · bv2146_krk2px_star · bv2147_9gdrqg_irv · bv2147_9gdrqg_star · bv2148_h87k6v_irv · bv2148_h87k6v_star · bv2149_byk9v2_irv · bv2149_byk9v2_star · bv2150_dxg8pb_irv · bv2150_dxg8pb_ranked_robin · bv2150_dxg8pb_star · bv2151_97hbpw_irv · bv2151_97hbpw_ranked_robin · bv2151_97hbpw_star · bv2152_r6ctvy_approval · bv2152_r6ctvy_ranked_robin · bv2153_pcttmr_approval · bv2153_pcttmr_irv · bv2153_pcttmr_ranked_robin · bv2154_wq6yv7_approval · bv2154_wq6yv7_irv · bv2154_wq6yv7_ranked_robin · bv2160_r6qc8h_plurality · bv2160_r6qc8h_star · bv2161_q3h4fk_plurality · bv2161_q3h4fk_star · bv2162_4htk44_irv · bv2162_4htk44_ranked_robin · bv2162_4htk44_star · bv2163_74j6vv_irv · bv2163_74j6vv_ranked_robin · bv2163_74j6vv_star · bv2164_xbqq8t_plurality · bv2164_xbqq8t_ranked_robin · bv2164_xbqq8t_star · bv2165_9vxcj7_plurality · bv2165_9vxcj7_star · bv2166_b7b8dv_plurality · bv2166_b7b8dv_star · bv2167_f3dxq9_plurality · bv2167_f3dxq9_star · coombs_ex18_monotonicity · coombs_ex20_amalgamated · coombs_ex20_district1 · coombs_ex20_district2 · coombs_ex21_twin_after · coombs_ex21_twin_before · felsenthal_ex6_pareto_approval · felsenthal_ex6_ranked_robin · minimax_ex30_noshow_after · minimax_ex30_noshow_before · minimax_ex31_truncation · minimax_ex32_amalgamated · minimax_ex32_district2 · minimax_ex33_scc · succ_elim_ex10_amalgamated · succ_elim_ex10_district1 · succ_elim_ex10_district2 · succ_elim_ex11_twin_after · succ_elim_ex11_twin_before · succ_elim_ex12_sincere · succ_elim_ex12_truncated · succ_elim_ex9_noshow · succ_elim_ex9_pareto