election_title: SAV rewards a bullet vote — the two-voter manipulation

scenario_description: |-
  The smallest strategy counterexample in Lackner & Skowron (Proposition A.4).
  Two voters, five candidates, ONE seat. Voter 1 sincerely approves A, B and C;
  voter 2 approves D and E.

  Satisfaction Approval Voting gives each BALLOT one vote and splits it evenly
  among that ballot's marks. So voter 1's three marks are worth 1/3 each, while
  voter 2's two marks are worth 1/2 each. SAV therefore scores D and E at 1/2
  against A, B and C at 1/3 - and the single seat goes to D (E ties; the book
  breaks it lexicographically).

  Voter 1 got nothing she approved. Now let her lie: submit {A} alone. Her one
  vote lands undivided on A, worth 1.0, and A takes the seat. She has moved
  from a committee containing none of her approved candidates to one containing
  A, purely by NARROWING her honest ballot. That is a violation of
  inclusion-strategyproofness (Definition 3.7), and it is why SAV carries a ✗
  in that column of Table 3.1 despite passing Pareto efficiency, committee
  monotonicity, support monotonicity and consistency - the only rule besides AV
  to pass all four.

  Approval Voting - the count in this file - is the control, and its answer is
  a five-way tie: every candidate has exactly one approval, so AV cannot
  separate them at all. That contrast IS the mechanism. SAV's power to
  distinguish these ballots comes from dividing by ballot length, and that same
  division is what makes shortening a ballot pay.

  Reproduce it: python 06_Other/abcvoting_tabulation_engine/abc_axiom_check.py

  Source: Lackner, M. & Skowron, P. (2023), "Multi-Winner Voting with Approval
  Preferences", SpringerBriefs, doi:10.1007/978-3-031-09016-5, Proposition A.4.

lh_only_reason: "The lesson is what SAV does with these ballots, and SAV exists on neither BetterVoting nor the LH engine - it is counted here by Lackner's own abcvoting library. The Approval count in this file is a deliberate five-way tie used as the control, which BetterVoting would break at random; the case also turns on a deliberately insincere ballot."

voting_method: Approval
num_winners: 1

ballots: |-
  A,B,C,D,E
  1,1,1,0,0   # voter 1 — sincerely approves A, B, C
  0,0,0,1,1   # voter 2 — approves D and E

expected_winners:
  - A
