Skip to content

Successive elimination Ex.10 — District I: three voters, the agenda elects C

Generated from succ_elim_ex10_district1.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.

Method: Ranked Robin (RCV-RR / Copeland) · 1 seat · Expected winner: B

Scenario

District I of Felsenthal's successive-elimination reinforcement example. Source: Dan S. Felsenthal (2010), Appendix A4, Example 10. Three voters, four candidates: A>B>C>D, B>D>C>A, D>C>A>B. Under the agenda B vs D, winner vs A, winner vs C the rounds run B beats D 2:1, A beats B 2:1, C beats A 2:1 — C is elected. District II (succ_elim_ex10_district2.yaml) is a single voter who also produces C. Both districts elect C; their union need not, and that is the paradox — see succ_elim_ex10_amalgamated.yaml, where every round ties and the winner becomes an artifact of the tie-break rule. Labels are Felsenthal's own, capitalized, so the case can be read beside the paper's table. Successive elimination exists in neither the LH engine nor BetterVoting, so this file is tabulated as Ranked Robin, which reads the same pairwise matrix. Ranked Robin elects B here, by a margin tiebreak within a Copeland tie — a different answer from the agenda's C, which is the ordinary state of affairs once the majority preference stops being transitive. Run the procedure with tools_adam/pref_voting_tabulation_engine/successive_elimination_report.py --agenda B,D,A,C.

Ballots

Each row is one voter's ranking, most-preferred first (N: prefix = N identical ballots).

1:A>B>C>D
1:B>D>C>A
1:D>C>A>B

What the engine says

The count, step by step — the rounds and how the winner is reached:

--- Ranked Robin (RCV-RR / Copeland) Method (single winner) ---
 Tabulating 3 ballots (ranked ballots).

Ballots:
     1 × A > B > C > D
     1 × B > D > C > A
     1 × D > C > A > B

Round-Robin — every pair, head-to-head (For – Against):
   A  beats B   2 – 1
   C  beats A   2 – 1
   D  beats A   2 – 1
   B  beats C   2 – 1
   B  beats D   2 – 1
   D  beats C   2 – 1

--- Pairwise (Round-Robin) Matrix ---
Head-to-head / pairwise comparison — the Ranked Robin tally
Legend: For - Equal Support - Against   (row vs column)
      |     A     |    B     |    C     |    D     |
----------------------------------------------------
  A > |    ---    |2 - 0 - 1 |1 - 0 - 2 |1 - 0 - 2 |
  B > | 1 - 0 - 2 |   ---    |2 - 0 - 1 |2 - 0 - 1 |
  C > | 2 - 0 - 1 |1 - 0 - 2 |   ---    |1 - 0 - 2 |
  D > | 2 - 0 - 1 |1 - 0 - 2 |2 - 0 - 1 |   ---    |

Win–loss record — Copeland score = wins + ½·ties (highest score wins; ties broken by total margin, then lot order):
    #  Candidate  W–L–T  Copeland  Margin  Beats
    1  B          2–1–0         2      +1  D, C
    2  D          2–1–0         2      +1  A, C
    3  A          1–2–0         1      -1  B
    4  C          1–2–0         1      -1  A

Winner — Ranked Robin (RCV-RR): B
   *** 2 candidates tie for the most wins (B, D) — tied on the tally, not a cycle (some of them beat others head-to-head, but no loop closes). Resolved by total margin, then lot order.

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 (4 of 4): B, D, A, C
   Outside (0):        —
   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.
   Note: the Copeland leaders (B, D) are only part of the set — the
   win–loss table's top block understates how wide the contention is.
   Ranked Robin (RCV-RR) winner B is INSIDE the Smith set. ✓
      Guaranteed: Ranked Robin (Copeland) is Smith-efficient — every member of
      the set outscores every outsider, so the top of the win–loss table is
      always inside the set, however the tie among them is then broken.
   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/succ_elim_ex10_district1.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 · coombs_ex22_scc · 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_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