Case 931
Ninety survive and ten die were the same number
ninety_survive_and_ten_die_were_the_same_number.eml - Patients are told the surgery's outcome either as 'ninety of a hundred survive' or as 'ten of a hundred die'. The two statements are the same statistic, both are true, and the groups are alike. How many choose the surgery under each is computed below.
ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-09-20
EML
eml# Self-authored for the EML case corpus (no external origin). Patients are
# told the surgery's outcome either as 'ninety of a hundred survive' or as
# 'ten of a hundred die'. The two statements are the same statistic, both are
# true, and the groups are alike. How many choose the surgery under each is
# computed below.
#
# The study is careful. The statistic is real and identical in both wordings;
# the two groups are comparable; the choices are honestly counted; and the
# intent is exactly 'do patients want this surgery'.
#
# Ninety survive and ten die are one number said two ways, and the way it is
# said moves the choice by thirty points - the decision answered the framing,
# not the fact.
90 => survive_per_hundred
1000 => patients_told_each_way
800 => chose_surgery_when_told_survival
500 => chose_surgery_when_told_mortality
100 - survive_per_hundred => die_per_hundred
survive_per_hundred + die_per_hundred => the_two_framings_add_to
int(chose_surgery_when_told_survival * 10000 / patients_told_each_way) => uptake_survival_frame_per_myriad
int(chose_surgery_when_told_mortality * 10000 / patients_told_each_way) => uptake_mortality_frame_per_myriad
uptake_survival_frame_per_myriad - uptake_mortality_frame_per_myriad => uptake_moved_by_the_wording_per_myriad
0 => difference_in_the_underlying_fact
"the statistic : " + str(survive_per_hundred) + " survive, " + str(die_per_hundred) + " die, of a hundred" ^0
"the two framings add to : " + str(the_two_framings_add_to) + " - one fact" ^0
"difference in the fact : " + str(difference_in_the_underlying_fact) ^0
"" ^0
"chose surgery, told survival : " + str(uptake_survival_frame_per_myriad) + " per ten thousand" ^0
"chose surgery, told mortality : " + str(uptake_mortality_frame_per_myriad) + " per ten thousand" ^0
"uptake moved by the wording : " + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand" ^0
"" ^0
# ---- what the study verified ----
"the two-wording study" ^0
" statistic : real, identical in both wordings" ^0
" groups : comparable" ^0
" choices : honestly counted" ^0
" intent : do patients want this surgery" ^0
" facts that differ between groups : " + str(difference_in_the_underlying_fact) ^0
" verdict : SAME FACT, TWO CONSENT RATES" ^0
"" ^0
" keeping the underlying fact identical is the part done" ^0
" right here, and it is why the thirty-point gap cannot" ^0
" be about the surgery" ^0
"" ^0
# ---- what the wording does ----
"framing" ^0
" 'ninety survive' : the listener pictures the ninety" ^0
" 'ten die' : the listener pictures the ten" ^0
" the arithmetic : the same, " + str(survive_per_hundred) + " and " + str(die_per_hundred) ^0
" the picture : not the same, and people decide on the" ^0
" picture" ^0
" so the consent rate : " + str(uptake_survival_frame_per_myriad) + " or " + str(uptake_mortality_frame_per_myriad) + " per ten thousand, chosen by" ^0
" whoever wrote the sentence" ^0
"" ^0
# ---- what the hospital got ----
"the consent figures" ^0
" reported demand : depends on the leaflet" ^0
" is either figure wrong : no" ^0
" does the consent rate measure the patients' judgement of" ^0
" the surgery : only after the frame's contribution is" ^0
" taken out, and it is " + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand" ^0
"" ^0
# ---- null control ----
# The same statistic presented both ways at once ('ninety survive, ten die')
# to every patient, so no single frame is the picture.
3000 => nc_gap_between_single_frames_per_myriad
0 => nc_gap_when_both_frames_are_shown_per_myriad
1 => nc_consent_rate_now_about_the_surgery
"null control - show both framings to everyone" ^0
" gap between the single frames : " + str(nc_gap_between_single_frames_per_myriad) + " per ten thousand" ^0
" gap when both are shown : " + str(nc_gap_when_both_frames_are_shown_per_myriad) ^0
" consent rate now about the surgery : " + str(nc_consent_rate_now_about_the_surgery) ^0
" no statistic and no patient changed; the sentence stopped" ^0
" choosing which hundred people to picture" ^0
"" ^0
# ---- the rule ----
"what an identical statistic in both groups guarantees" ^0
" the patients were told the same fact : exactly, " + str(survive_per_hundred) + " and" ^0
" " + str(die_per_hundred) + " are one number" ^0
" the patients decided on the fact : not addressed; the" ^0
" survival wording consented " + str(uptake_survival_frame_per_myriad) + " and the mortality wording " + str(uptake_mortality_frame_per_myriad) ^0
" per ten thousand, " + str(uptake_moved_by_the_wording_per_myriad) + " decided by the sentence" ^0
"" ^0
"a number can be true in two sentences that are not the same sentence, and a" ^0
"decision is made on the sentence; what the arithmetic makes identical the" ^0
"telling makes different, and the consent form is a telling" ^0
"" ^0
"Both groups heard the same fact - " + str(survive_per_hundred) + " survive is " + str(die_per_hundred) + " die. But told as survival," ^0
"" + str(uptake_survival_frame_per_myriad) + " per ten thousand chose the surgery, and told as mortality, " + str(uptake_mortality_frame_per_myriad) + "; the" ^0
"" + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand between them is the wording, not the surgery, until every" ^0
"patient is shown both." ^0Python (deterministic transpilation)
pythonsurvive_per_hundred = 90
patients_told_each_way = 1000
chose_surgery_when_told_survival = 800
chose_surgery_when_told_mortality = 500
die_per_hundred = 100 - survive_per_hundred
the_two_framings_add_to = survive_per_hundred + die_per_hundred
uptake_survival_frame_per_myriad = int(chose_surgery_when_told_survival * 10000 / patients_told_each_way)
uptake_mortality_frame_per_myriad = int(chose_surgery_when_told_mortality * 10000 / patients_told_each_way)
uptake_moved_by_the_wording_per_myriad = uptake_survival_frame_per_myriad - uptake_mortality_frame_per_myriad
difference_in_the_underlying_fact = 0
print("the statistic : " + str(survive_per_hundred) + " survive, " + str(die_per_hundred) + " die, of a hundred")
print("the two framings add to : " + str(the_two_framings_add_to) + " - one fact")
print("difference in the fact : " + str(difference_in_the_underlying_fact))
print("")
print("chose surgery, told survival : " + str(uptake_survival_frame_per_myriad) + " per ten thousand")
print("chose surgery, told mortality : " + str(uptake_mortality_frame_per_myriad) + " per ten thousand")
print("uptake moved by the wording : " + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand")
print("")
print("the two-wording study")
print(" statistic : real, identical in both wordings")
print(" groups : comparable")
print(" choices : honestly counted")
print(" intent : do patients want this surgery")
print(" facts that differ between groups : " + str(difference_in_the_underlying_fact))
print(" verdict : SAME FACT, TWO CONSENT RATES")
print("")
print(" keeping the underlying fact identical is the part done")
print(" right here, and it is why the thirty-point gap cannot")
print(" be about the surgery")
print("")
print("framing")
print(" 'ninety survive' : the listener pictures the ninety")
print(" 'ten die' : the listener pictures the ten")
print(" the arithmetic : the same, " + str(survive_per_hundred) + " and " + str(die_per_hundred))
print(" the picture : not the same, and people decide on the")
print(" picture")
print(" so the consent rate : " + str(uptake_survival_frame_per_myriad) + " or " + str(uptake_mortality_frame_per_myriad) + " per ten thousand, chosen by")
print(" whoever wrote the sentence")
print("")
print("the consent figures")
print(" reported demand : depends on the leaflet")
print(" is either figure wrong : no")
print(" does the consent rate measure the patients' judgement of")
print(" the surgery : only after the frame's contribution is")
print(" taken out, and it is " + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand")
print("")
nc_gap_between_single_frames_per_myriad = 3000
nc_gap_when_both_frames_are_shown_per_myriad = 0
nc_consent_rate_now_about_the_surgery = 1
print("null control - show both framings to everyone")
print(" gap between the single frames : " + str(nc_gap_between_single_frames_per_myriad) + " per ten thousand")
print(" gap when both are shown : " + str(nc_gap_when_both_frames_are_shown_per_myriad))
print(" consent rate now about the surgery : " + str(nc_consent_rate_now_about_the_surgery))
print(" no statistic and no patient changed; the sentence stopped")
print(" choosing which hundred people to picture")
print("")
print("what an identical statistic in both groups guarantees")
print(" the patients were told the same fact : exactly, " + str(survive_per_hundred) + " and")
print(" " + str(die_per_hundred) + " are one number")
print(" the patients decided on the fact : not addressed; the")
print(" survival wording consented " + str(uptake_survival_frame_per_myriad) + " and the mortality wording " + str(uptake_mortality_frame_per_myriad))
print(" per ten thousand, " + str(uptake_moved_by_the_wording_per_myriad) + " decided by the sentence")
print("")
print("a number can be true in two sentences that are not the same sentence, and a")
print("decision is made on the sentence; what the arithmetic makes identical the")
print("telling makes different, and the consent form is a telling")
print("")
print("Both groups heard the same fact - " + str(survive_per_hundred) + " survive is " + str(die_per_hundred) + " die. But told as survival,")
print("" + str(uptake_survival_frame_per_myriad) + " per ten thousand chose the surgery, and told as mortality, " + str(uptake_mortality_frame_per_myriad) + "; the")
print("" + str(uptake_moved_by_the_wording_per_myriad) + " per ten thousand between them is the wording, not the surgery, until every")
print("patient is shown both.")stdout (executed)
textthe statistic : 90 survive, 10 die, of a hundred
the two framings add to : 100 - one fact
difference in the fact : 0
chose surgery, told survival : 8000 per ten thousand
chose surgery, told mortality : 5000 per ten thousand
uptake moved by the wording : 3000 per ten thousand
the two-wording study
statistic : real, identical in both wordings
groups : comparable
choices : honestly counted
intent : do patients want this surgery
facts that differ between groups : 0
verdict : SAME FACT, TWO CONSENT RATES
keeping the underlying fact identical is the part done
right here, and it is why the thirty-point gap cannot
be about the surgery
framing
'ninety survive' : the listener pictures the ninety
'ten die' : the listener pictures the ten
the arithmetic : the same, 90 and 10
the picture : not the same, and people decide on the
picture
so the consent rate : 8000 or 5000 per ten thousand, chosen by
whoever wrote the sentence
the consent figures
reported demand : depends on the leaflet
is either figure wrong : no
does the consent rate measure the patients' judgement of
the surgery : only after the frame's contribution is
taken out, and it is 3000 per ten thousand
null control - show both framings to everyone
gap between the single frames : 3000 per ten thousand
gap when both are shown : 0
consent rate now about the surgery : 1
no statistic and no patient changed; the sentence stopped
choosing which hundred people to picture
what an identical statistic in both groups guarantees
the patients were told the same fact : exactly, 90 and
10 are one number
the patients decided on the fact : not addressed; the
survival wording consented 8000 and the mortality wording 5000
per ten thousand, 3000 decided by the sentence
a number can be true in two sentences that are not the same sentence, and a
decision is made on the sentence; what the arithmetic makes identical the
telling makes different, and the consent form is a telling
Both groups heard the same fact - 90 survive is 10 die. But told as survival,
8000 per ten thousand chose the surgery, and told as mortality, 5000; the
3000 per ten thousand between them is the wording, not the surgery, until every
patient is shown both.Trace event types
eml:run:starteml:assigneml:outputeml:run:done