election_title: "Nine candidates, 25 voters — ranking only five, counted by RCV-IRV"

scenario_description: |-
  BOTH LIMITS AT ONCE, and the winner does not move again. Five ranks out of nine,
  counted by instant runoff: Ben, exactly as in bv2280_37yf8x_irv_full.yaml.

  This file is the honest control on the rest of the folder, and it is the one that stops
  the lesson from overreaching. Ranked Robin's winner DID change when the ballot was
  capped (Finn → Gus). IRV's did not — because IRV had already lost Finn on the uncapped
  ballot, for a completely different reason: too few first choices. Truncation and
  elimination are separate failures, and here stacking them changes nothing.

  So "the cap costs you the answer" is a claim about the COUNT as much as the paper. It
  bites a method that reads the whole ballot, and glances off one that only reads the
  top of it.

  Convention, stated: an unranked candidate is beaten by everyone the voter ranked. A
  ballot whose five names have all been eliminated is EXHAUSTED — it leaves the count and
  the majority denominator, which is what a rank cap really does to an instant runoff.

  Construction: build_cases.py in this folder. 25 voters and 9 candidates at frozen
  positions on one spectrum — Ada −0.73 · Ben −0.37 · Cleo −0.18 · Dev −0.17 ·
  Emma −0.11 · Finn +0.24 · Gus +0.41 · Hugo +0.80 · Iris +0.84; utility = minus the
  distance; scores = each voter's own min-max scaling onto 0–5; rankings = those same
  utilities in order. Nothing is tuned to the result, and **no count in this folder is
  settled by a tie-break** — that was a search constraint, so every winner here survives
  any lot rule.

voting_method: RCV-IRV
num_winners: 1

# Not on BetterVoting: this is the control leg that changes nothing.
# The other four papers are BV2280 (37yf8x).

lot_numbers: [Ada, Ben, Cleo, Dev, Emma, Finn, Gus, Hugo, Iris]

ballots: |-
  Ben>Cleo>Dev>Ada>Emma    # voter at -0.43
  Gus>Hugo>Iris>Finn>Emma    # voter at +0.60
  Ada>Ben>Cleo>Dev>Emma    # voter at -0.67
  Iris>Hugo>Gus>Finn>Emma    # voter at +0.89
  Finn>Gus>Emma>Dev>Cleo    # voter at +0.18
  Emma>Dev>Cleo>Ben>Finn    # voter at -0.13
  Gus>Hugo>Iris>Finn>Emma    # voter at +0.59
  Hugo>Iris>Gus>Finn>Emma    # voter at +0.72
  Gus>Finn>Emma>Hugo>Iris    # voter at +0.34
  Hugo>Iris>Gus>Finn>Emma    # voter at +0.69
  Finn>Gus>Emma>Dev>Cleo    # voter at +0.23
  Ben>Cleo>Dev>Emma>Ada    # voter at -0.30
  Ben>Ada>Cleo>Dev>Emma    # voter at -0.51
  Iris>Hugo>Gus>Finn>Emma    # voter at +0.89
  Emma>Dev>Cleo>Finn>Ben    # voter at -0.05
  Gus>Hugo>Iris>Finn>Emma    # voter at +0.60
  Finn>Gus>Emma>Dev>Cleo    # voter at +0.28
  Ben>Cleo>Dev>Emma>Ada    # voter at -0.40
  Hugo>Gus>Iris>Finn>Emma    # voter at +0.62
  Ada>Ben>Cleo>Dev>Emma    # voter at -0.63
  Finn>Gus>Emma>Dev>Cleo    # voter at +0.27
  Ada>Ben>Cleo>Dev>Emma    # voter at -0.61
  Ada>Ben>Cleo>Dev>Emma    # voter at -1.33
  Cleo>Dev>Emma>Ben>Finn    # voter at -0.23
  Ada>Ben>Cleo>Dev>Emma    # voter at -1.82

expected_winners:
  - Ben

# file: ballot_expressiveness_c9_irv_top5.yaml
