Case 870
The compromise was everyones last choice
the_compromise_was_everyones_last_choice.eml - A committee picks the venue for a hundred people by taking the option in the middle of the preferences - the one that offers a little of everything - and every ranking used is real and every voter is counted. Where each voter ranks that middle option is computed below.
ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-09-16
EML
eml# Self-authored for the EML case corpus (no external origin). A committee picks
# the venue for a hundred people by taking the option in the middle of the
# preferences - the one that offers a little of everything - and every ranking
# used is real and every voter is counted. Where each voter ranks that middle
# option is computed below.
#
# The choice is careful. It reads the real ranked preferences of every voter, not
# a guess at them; it locates the middle of the preference space exactly; it
# counts every voter; and the intent is exactly 'the option most people can live
# with'.
#
# Preferences here have three peaks and a valley between them, and the middle of
# the space is the valley: the buffet that offers a little of everything is ranked
# last by every single voter, while a real consensus option sits unnoticed.
40 => voters_vegan_first
35 => voters_steakhouse_first
25 => voters_seafood_first
voters_vegan_first + voters_steakhouse_first + voters_seafood_first => voters
0 => buffet_first_choices
voters => buffet_last_choices
voters_steakhouse_first + voters_seafood_first => seafood_vs_vegan_for_seafood
voters_vegan_first => seafood_vs_vegan_for_vegan
voters_vegan_first + voters_seafood_first => seafood_vs_steakhouse_for_seafood
voters_steakhouse_first => seafood_vs_steakhouse_for_steakhouse
voters => seafood_ranked_first_or_second_by
int(buffet_last_choices * 10000 / voters) => buffet_last_place_per_myriad
"voters : " + str(voters) ^0
" rank vegan first : " + str(voters_vegan_first) + " (vegan, seafood, steak, buffet)" ^0
" rank steakhouse first : " + str(voters_steakhouse_first) + " (steak, seafood, vegan, buffet)" ^0
" rank seafood first : " + str(voters_seafood_first) + " (seafood, vegan, steak, buffet)" ^0
"" ^0
"chosen as the compromise : the buffet, a little of everything" ^0
"buffet ranked first by : " + str(buffet_first_choices) ^0
"buffet ranked last by : " + str(buffet_last_choices) ^0
"buffet last place : " + str(buffet_last_place_per_myriad) + " per ten thousand" ^0
"" ^0
"seafood vs vegan : " + str(seafood_vs_vegan_for_seafood) + " to " + str(seafood_vs_vegan_for_vegan) ^0
"seafood vs steakhouse : " + str(seafood_vs_steakhouse_for_seafood) + " to " + str(seafood_vs_steakhouse_for_steakhouse) ^0
"seafood ranked first or second by : " + str(seafood_ranked_first_or_second_by) + " of " + str(voters) ^0
"" ^0
# ---- what the choice verified ----
"the compromise pick" ^0
" reads : the real ranked preferences of every voter" ^0
" locates : the middle of the preference space, exactly" ^0
" counts : every voter" ^0
" intent : the option most people can live with" ^0
" voters omitted : 0" ^0
" verdict : THE BUFFET IS THE MIDPOINT OF THE PREFERENCES" ^0
"" ^0
" reading every voter's real ranking and locating the exact" ^0
" middle is the part done right here, and it is why the" ^0
" buffet really is equidistant from all three camps" ^0
"" ^0
# ---- where the middle falls ----
"the shape of the preferences" ^0
" three camps : each wants one thing done well" ^0
" the middle of the space : a little of each thing, done" ^0
" indifferently" ^0
" how each camp ranks the middle : below all three" ^0
" specialised options - last" ^0
" so the midpoint : is nobody's position, and everyone's" ^0
" least-preferred" ^0
" the option ranked first or second by all " + str(voters) + " : seafood," ^0
" which the midpoint rule never looks at" ^0
"" ^0
# ---- what the committee got ----
"the outcome" ^0
" chosen : the buffet, last on " + str(buffet_last_choices) + " of " + str(voters) + " ballots" ^0
" head-to-head against any other option : the buffet loses" ^0
" " + str(voters) + " to 0" ^0
" the option that beats every other head-to-head : seafood," ^0
" " + str(seafood_vs_vegan_for_seafood) + " to " + str(seafood_vs_vegan_for_vegan) + " over vegan, " + str(seafood_vs_steakhouse_for_seafood) + " to " + str(seafood_vs_steakhouse_for_steakhouse) + " over steak" ^0
" is the midpoint computed wrong : no; it is exactly the" ^0
" centre" ^0
" is the centre what people can live with : no; on a" ^0
" peaked landscape the centre is the valley" ^0
"" ^0
# ---- null control ----
# The same rankings, decided by pairwise majority (or by counting first-and-second
# places) instead of by the midpoint of the space.
100 => nc_last_place_votes_for_the_midpoint_pick
0 => nc_last_place_votes_for_the_pairwise_pick
100 => nc_voters_ranking_the_pairwise_pick_first_or_second
"null control - decide by pairwise majority, not the midpoint" ^0
" last-place votes, midpoint pick (buffet) : " + str(nc_last_place_votes_for_the_midpoint_pick) ^0
" last-place votes, pairwise pick (seafood) : " + str(nc_last_place_votes_for_the_pairwise_pick) ^0
" voters ranking the pairwise pick first or second : " + str(nc_voters_ranking_the_pairwise_pick_first_or_second) ^0
" no voter and no ranking changed; the rule stopped" ^0
" averaging positions and started counting preferences" ^0
"" ^0
# ---- the rule ----
"what a midpoint-of-preferences pick guarantees" ^0
" the chosen option is equidistant from every camp :" ^0
" exactly, every real ranking, the exact centre" ^0
" the chosen option is one people can live with : not" ^0
" addressed; the preferences are peaked and the centre is" ^0
" the valley, so the buffet is ranked last by all " + str(buffet_last_choices) + " while" ^0
" seafood is first or second for all " + str(seafood_ranked_first_or_second_by) ^0
"" ^0
"the average of several positions is a position only if the landscape between" ^0
"them is level; where preferences peak, the middle is where nobody stands, and a" ^0
"compromise found by averaging is the one option every side agrees to dislike" ^0
"" ^0
"It reads every real ranking and finds the exact middle of the preference space -" ^0
"the buffet is equidistant from all three camps. But the preferences are peaked" ^0
"and the middle is the valley: the buffet is ranked last by " + str(buffet_last_choices) + " of " + str(voters) + " voters," ^0
"" + str(buffet_last_place_per_myriad) + " per ten thousand, while seafood beats every option head-to-head, until the rule counts preferences." ^0Python (deterministic transpilation)
pythonvoters_vegan_first = 40
voters_steakhouse_first = 35
voters_seafood_first = 25
voters = voters_vegan_first + voters_steakhouse_first + voters_seafood_first
buffet_first_choices = 0
buffet_last_choices = voters
seafood_vs_vegan_for_seafood = voters_steakhouse_first + voters_seafood_first
seafood_vs_vegan_for_vegan = voters_vegan_first
seafood_vs_steakhouse_for_seafood = voters_vegan_first + voters_seafood_first
seafood_vs_steakhouse_for_steakhouse = voters_steakhouse_first
seafood_ranked_first_or_second_by = voters
buffet_last_place_per_myriad = int(buffet_last_choices * 10000 / voters)
print("voters : " + str(voters))
print(" rank vegan first : " + str(voters_vegan_first) + " (vegan, seafood, steak, buffet)")
print(" rank steakhouse first : " + str(voters_steakhouse_first) + " (steak, seafood, vegan, buffet)")
print(" rank seafood first : " + str(voters_seafood_first) + " (seafood, vegan, steak, buffet)")
print("")
print("chosen as the compromise : the buffet, a little of everything")
print("buffet ranked first by : " + str(buffet_first_choices))
print("buffet ranked last by : " + str(buffet_last_choices))
print("buffet last place : " + str(buffet_last_place_per_myriad) + " per ten thousand")
print("")
print("seafood vs vegan : " + str(seafood_vs_vegan_for_seafood) + " to " + str(seafood_vs_vegan_for_vegan))
print("seafood vs steakhouse : " + str(seafood_vs_steakhouse_for_seafood) + " to " + str(seafood_vs_steakhouse_for_steakhouse))
print("seafood ranked first or second by : " + str(seafood_ranked_first_or_second_by) + " of " + str(voters))
print("")
print("the compromise pick")
print(" reads : the real ranked preferences of every voter")
print(" locates : the middle of the preference space, exactly")
print(" counts : every voter")
print(" intent : the option most people can live with")
print(" voters omitted : 0")
print(" verdict : THE BUFFET IS THE MIDPOINT OF THE PREFERENCES")
print("")
print(" reading every voter's real ranking and locating the exact")
print(" middle is the part done right here, and it is why the")
print(" buffet really is equidistant from all three camps")
print("")
print("the shape of the preferences")
print(" three camps : each wants one thing done well")
print(" the middle of the space : a little of each thing, done")
print(" indifferently")
print(" how each camp ranks the middle : below all three")
print(" specialised options - last")
print(" so the midpoint : is nobody's position, and everyone's")
print(" least-preferred")
print(" the option ranked first or second by all " + str(voters) + " : seafood,")
print(" which the midpoint rule never looks at")
print("")
print("the outcome")
print(" chosen : the buffet, last on " + str(buffet_last_choices) + " of " + str(voters) + " ballots")
print(" head-to-head against any other option : the buffet loses")
print(" " + str(voters) + " to 0")
print(" the option that beats every other head-to-head : seafood,")
print(" " + str(seafood_vs_vegan_for_seafood) + " to " + str(seafood_vs_vegan_for_vegan) + " over vegan, " + str(seafood_vs_steakhouse_for_seafood) + " to " + str(seafood_vs_steakhouse_for_steakhouse) + " over steak")
print(" is the midpoint computed wrong : no; it is exactly the")
print(" centre")
print(" is the centre what people can live with : no; on a")
print(" peaked landscape the centre is the valley")
print("")
nc_last_place_votes_for_the_midpoint_pick = 100
nc_last_place_votes_for_the_pairwise_pick = 0
nc_voters_ranking_the_pairwise_pick_first_or_second = 100
print("null control - decide by pairwise majority, not the midpoint")
print(" last-place votes, midpoint pick (buffet) : " + str(nc_last_place_votes_for_the_midpoint_pick))
print(" last-place votes, pairwise pick (seafood) : " + str(nc_last_place_votes_for_the_pairwise_pick))
print(" voters ranking the pairwise pick first or second : " + str(nc_voters_ranking_the_pairwise_pick_first_or_second))
print(" no voter and no ranking changed; the rule stopped")
print(" averaging positions and started counting preferences")
print("")
print("what a midpoint-of-preferences pick guarantees")
print(" the chosen option is equidistant from every camp :")
print(" exactly, every real ranking, the exact centre")
print(" the chosen option is one people can live with : not")
print(" addressed; the preferences are peaked and the centre is")
print(" the valley, so the buffet is ranked last by all " + str(buffet_last_choices) + " while")
print(" seafood is first or second for all " + str(seafood_ranked_first_or_second_by))
print("")
print("the average of several positions is a position only if the landscape between")
print("them is level; where preferences peak, the middle is where nobody stands, and a")
print("compromise found by averaging is the one option every side agrees to dislike")
print("")
print("It reads every real ranking and finds the exact middle of the preference space -")
print("the buffet is equidistant from all three camps. But the preferences are peaked")
print("and the middle is the valley: the buffet is ranked last by " + str(buffet_last_choices) + " of " + str(voters) + " voters,")
print("" + str(buffet_last_place_per_myriad) + " per ten thousand, while seafood beats every option head-to-head, until the rule counts preferences.")stdout (executed)
textvoters : 100
rank vegan first : 40 (vegan, seafood, steak, buffet)
rank steakhouse first : 35 (steak, seafood, vegan, buffet)
rank seafood first : 25 (seafood, vegan, steak, buffet)
chosen as the compromise : the buffet, a little of everything
buffet ranked first by : 0
buffet ranked last by : 100
buffet last place : 10000 per ten thousand
seafood vs vegan : 60 to 40
seafood vs steakhouse : 65 to 35
seafood ranked first or second by : 100 of 100
the compromise pick
reads : the real ranked preferences of every voter
locates : the middle of the preference space, exactly
counts : every voter
intent : the option most people can live with
voters omitted : 0
verdict : THE BUFFET IS THE MIDPOINT OF THE PREFERENCES
reading every voter's real ranking and locating the exact
middle is the part done right here, and it is why the
buffet really is equidistant from all three camps
the shape of the preferences
three camps : each wants one thing done well
the middle of the space : a little of each thing, done
indifferently
how each camp ranks the middle : below all three
specialised options - last
so the midpoint : is nobody's position, and everyone's
least-preferred
the option ranked first or second by all 100 : seafood,
which the midpoint rule never looks at
the outcome
chosen : the buffet, last on 100 of 100 ballots
head-to-head against any other option : the buffet loses
100 to 0
the option that beats every other head-to-head : seafood,
60 to 40 over vegan, 65 to 35 over steak
is the midpoint computed wrong : no; it is exactly the
centre
is the centre what people can live with : no; on a
peaked landscape the centre is the valley
null control - decide by pairwise majority, not the midpoint
last-place votes, midpoint pick (buffet) : 100
last-place votes, pairwise pick (seafood) : 0
voters ranking the pairwise pick first or second : 100
no voter and no ranking changed; the rule stopped
averaging positions and started counting preferences
what a midpoint-of-preferences pick guarantees
the chosen option is equidistant from every camp :
exactly, every real ranking, the exact centre
the chosen option is one people can live with : not
addressed; the preferences are peaked and the centre is
the valley, so the buffet is ranked last by all 100 while
seafood is first or second for all 100
the average of several positions is a position only if the landscape between
them is level; where preferences peak, the middle is where nobody stands, and a
compromise found by averaging is the one option every side agrees to dislike
It reads every real ranking and finds the exact middle of the preference space -
the buffet is equidistant from all three camps. But the preferences are peaked
and the middle is the valley: the buffet is ranked last by 100 of 100 voters,
10000 per ten thousand, while seafood beats every option head-to-head, until the rule counts preferences.Trace event types
eml:run:starteml:assigneml:outputeml:run:done