BEST Names: six layouts of one table, for choosing between#
b16x-bestnames-layout-variants-dv_ClaOp50Max_MMv1r0p0_2026m09d16_23h20scripts/gen-bestnames-variants.py — re-run it after any edit
to Table B and this page follows.FROZEN — the decision this page served has been taken
2026m09d17. LLoL chose a refinement of V4 and the transform has been applied to the paper. Table B is now four things: the index, the glossary, Table B-old and Table B-MM.
This page is kept unchanged, as the record of how that choice was made and what
each rejected layout actually looked like in print. It describes the five-column
table as it stood before the transform, so its V0 no longer matches the paper —
that is the point of a record. scripts/gen-bestnames-variants.py now refuses to
run rather than regenerate this page against the restructured source.
What was chosen, and what was not: the index and the glossary are V4’s; the
was column left the index entirely (V4 kept it) and became Table B-old; the
enzyme-kinetics material became its own table rather than a pointer to Table F; and
every quantity was given an Explicit name, where V4 left seven honestly empty.
The llog records why each of those went the way it did.
What this page is — and what it is not
A layout experiment, not a version of the paper. Every word of prose below is
copied verbatim from Table B of Table B — the BEST Names index, every symbol on one page
(b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst, lines 316–566) by a
script, so the six layouts differ only in layout. Nothing here has been
re-derived, re-worded, or checked for correctness — that is a separate run.
Four things are Claude’s, not the paper’s, and are marked where they occur: the
six group names in the index tables, the B/E/S/T run-in labels,
the section prose, and the three content decisions proposed in V4.
Read it in the PDF as well as in the browser. The two media disagree about what is cheap, and that disagreement is most of the decision.
0. What the present table costs, measured#
Table B is a five-column list-table at widths 14 17 27 29 13, holding 16
entries. Measured against an A4 text block of about 95 characters at 11 pt:
Measured quantity |
Value |
Why it matters |
|---|---|---|
Characters in columns B, E, was |
9 % |
three columns, holding 44 % of the width |
Characters in columns S, T |
91 % |
two columns, squeezed into 56 % of the width |
Longest S cell against shortest |
1161 / 89 chars |
a 13-fold range; no one column width serves both |
Whitespace as a share of table area |
63 % |
every row is as tall as its tallest cell |
Printed height, read off this PDF |
9 A4 pages |
worse than the 6.1 the character count predicts |
Rows whose E cell carries a real code name |
3 of 16 |
the E column is 17 % of the width and 13/16 empty |
Rows stating |
6 of 16 |
|
Rows repeating “Was X before 2026m09d08” in T |
12 of 16 |
the was column already says exactly this |
Rows restating the Michaelis–Menten mapping |
4 of 16 |
Table F already tabulates it |
Two of those rows are about space. The other two are not, and they are the sharper
finding: the Explicit names are sitting in the Technical column while the Explicit
column says “— (derived)”. r_onset, r_relax, p_M_to_D, T_R_to_D,
excursions() and r_all are real identifiers in the companion code, and every
one of them is currently reached only by reading a paragraph of prose in the
narrowest text column of the table. The E of BEST is not doing its job. Fixing
that is a content improvement that also happens to save space, which is why V4 is
the variant worth arguing about rather than merely looking at.
The page-9 figure is read off this PDF; the percentages are Claude’s measurements of
the source. Offered not to be believed, but to be checked: every block below was
built by scripts/gen-bestnames-variants.py, which reads Table B out of the paper
and re-emits it. Re-run it after any edit to Table B and this page follows.
V0. The table as it stands today (baseline)#
Unchanged, for comparison. Two things to watch for while paging through it: how
often three of the five columns are blank, and page 3, where a single entry gets a
whole page because a longtable row that will not fit in the space left is
pushed forward whole. That page-level waste is why the printed height (9 pages) beats
the 6.1 pages the character count predicts.
Brief |
Explicit (model code) |
Summarizing (prose) |
Technical — synonyms, cross-domain identities, and the symbol this document used before 2026m09d08 |
before 2026m09d08 |
|---|---|---|---|---|
\(r_{R \rightarrow M}\) |
|
the crisis rate — how often a Risky world walks into a MAD nuclear crisis, per year |
Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\).
Hellman’s \(\lambda_{IE}\) is the nearest published relative.
Textbook generator entry \(q_{RM}\).
Was \(\lambda\) here in drafts before 2026m09d08; |
\(\lambda\) |
\(r_{M \rightarrow R}\) |
|
the de-escalation rate — how fast a MAD crisis walks back to Risky safety, per year |
Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\).
Was \(\mu\) here in drafts before 2026m09d08; |
\(b\) |
\(r_{M \rightarrow D}\) |
|
the kill escalation rate — how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year. |
Enzymology \(k_{cat}\), the committed step. Michaelis–Menten
\(V_{max}\): you cannot destroy the world faster than this. Textbook
\(q_{MD}\). Was \(\kappa\) here in drafts before 2026m09d08; |
\(c\) |
\(r_{M \rightarrow \text{out}}\) |
— (derived) |
the crisis clock — how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days. |
\(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total rate of leaving
MAD by any arrow. Michaelis–Menten \(K_m\).
Was \(\mu + \kappa\) here in drafts before 2026m09d08. Written
|
\(b+c\) |
\(p_{M \rightarrow D}\) |
— (derived: \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)) |
the per-crisis chance of nuclear winter — of all the crises the world
enters, the share that go all the way to Dead instead of back to Risky. Base
case: 1/3. This number and the crisis rate are not separately identified:
fixing it at 1/3 is what defines which near-disasters count as
“Cuban-Missile-Crisis type” and are therefore counted by Warning This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name. |
Same arrow as \(r_{M \rightarrow D}\), but a probability rather than a
rate — which is why the defining identity
\(p_{M \rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\)
can be read straight off the notation: the share of the leaving-rate that goes
to D. Enzymology: commitment to catalysis; specificity constant
\(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this, not of
the crisis rate. Was \(p_{\text{end}}\) here in drafts before 2026m09d08. Companion code:
|
\(p_{death}\) |
\(T_{R \rightarrow D}\) |
— (derived) |
the waiting time — years from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date. |
First-passage time to absorption from Risky. Not a half-life, not a
deadline. Was \(W\) here in drafts before 2026m09d08. Companion code: |
\(T_R\) |
\(T_{M \rightarrow D}\) |
— (derived) |
the waiting time from inside a crisis — years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts. |
First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Was \(W_{\text{crisis}}\) here in drafts before 2026m09d08. Not a separate identifier in the companion code. |
\(T_M\) |
\(r_{\text{onset}}\) |
— (derived) |
the onset rate — the composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2). |
Smaller root of the characteristic quadratic; the decay rate of the
quasi-stationary distribution; the asymptotic hazard. It is an equilibrium rate
in every sense that can apply to an absorbing chain. Strictly the chain has no
equilibrium, since all probability drains into Dead (only 0.13 % of worlds
survive 200 years); what it settles into is the quasi-stationary state — an
equilibrium among the survivors, who divide 98.9 % Risky / 1.1 % MAD. But that
state has the defining property one would want: started from it, the waiting
time is exactly exponential at rate \(r_{\text{onset}}\), with no
correction term at any horizon (section 7.5, checked to machine precision). It is
not named
\(r_{R \rightarrow D}\), because R → D is not a transition of the model:
there is no direct arrow, only the composite journey through M. Bounded exactly by
\(1/T_{R \rightarrow D} < r_{\text{onset}} <
r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section 7.1).
Was \(r_{\text{slow}}\) here in drafts before 2026m09d08. Companion code:
|
\(r_1\) |
\(r_{\text{relax}}\) |
— (derived) |
the relaxation rate — not a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5). |
Larger root of the same quadratic. Standard usage in kinetics and in Markov-chain
theory calls \(1/(r_{\text{relax}} - r_{\text{onset}})\) the relaxation
time; here the two differ by 0.37 % (40.43 d against 40.28 d), so the
distinction never matters numerically but is stated to keep the identification
honest. It is likewise close to, but not equal to, the crisis clock:
\(r_{\text{relax}} = 9.067\)/yr against
\(r_{M \rightarrow \text{out}} = 9.000\)/yr, larger by 0.74 %, and section
7.1 proves that inequality is strict whenever
\(r_{M \rightarrow R} > 0\). Section 7.3 explains why the two exponentials of
the closed form are not the two physical stages.
Was \(r_{\text{fast}}\) here in drafts before 2026m09d08. Companion code:
|
\(r_2\) |
\(n_{MAD}\) |
— (derived: \(1/p_{M \rightarrow D}\)) |
the number of MAD crises the world passes through before one of them reaches Dead — on average 3 |
Geometric random variable with success probability
\(p_{M \rightarrow D}\). This is the factor that answers the “loop
objection” (section 5.5).
Was \(n_{\text{tries}}\) here in drafts before 2026m09d08. Companion code:
|
— (implicit) |
\(q_{\text{dead}}\) |
— (external) |
the death fraction — the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone. |
Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports. |
\(q\) |
\(r_{\text{flux}}\) |
— (derived: \(1/T_{R \rightarrow D}\)) |
the flux of worlds — onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced. |
Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose. |
\(v\) |
\(r_{\text{all}}\) |
— (derived) |
the sum of every rate in the model — \(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too. |
Minus the trace of the transient generator. Appears in both Vieta relations:
\(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\), which is the
quickest check that the two roots were solved correctly.
Was \(\Sigma\) here in drafts before 2026m09d08. Companion code: the local
|
\(\lambda + b + c\) |
\(p_{\text{winter}}(t)\) |
— (derived: the density of \(T_{R \rightarrow D}\)) |
the density — how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2. |
Probability density function of the waiting time. Lower case on purpose:
\(P(\cdot)\) in these same equations is a probability, and a density is not
one — the case carries the type. Named for the event rather than the arrow
( |
— (not in b16) |
\(\Delta\) |
— (derived) |
the discriminant — the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5). |
\(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations. |
— (not in b16) |
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) |
— (local, section 4 only) |
the two clocks — a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all. |
Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. Was \(C_\mu, C_\kappa\) here in drafts before 2026m09d08. A proof device only; it has no counterpart in the companion code. |
— (not in b16) |
V1. Entries only — no table at all#
The move. Admit that S and T are paragraphs, not cells, and give them the full page width. Each symbol becomes one definition-list entry: the term line carries B and the S headword; the body carries E, was, and the two prose blocks, with bold run-in labels so the BEST scheme stays visible.
Buys full width for 91 % of the characters, no whitespace waste, clean page breaks, nested admonitions become real admonitions again, and it is trivial to edit by hand. Costs nothing can be scanned: a reader who wants only “what is :math:`r_{text{relax}}`?” has to find the entry by eye.
- \(r_{R \rightarrow M}\) — the crisis rate
E
rRiskyGoMAD· was \(\lambda\)how often a Risky world walks into a MAD nuclear crisis, per year
T Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is the nearest published relative. Textbook generator entry \(q_{RM}\). Was \(\lambda\) here in drafts before 2026m09d08;
lamin the code.- \(r_{M \rightarrow R}\) — the de-escalation rate
E
rMADescapes· was \(b\)how fast a MAD crisis walks back to Risky safety, per year
T Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\). Was \(\mu\) here in drafts before 2026m09d08;
muin the code.- \(r_{M \rightarrow D}\) — the kill escalation rate
E
rMADtoDEATH· was \(c\)how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year.
T Enzymology \(k_{cat}\), the committed step. Michaelis–Menten \(V_{max}\): you cannot destroy the world faster than this. Textbook \(q_{MD}\). Was \(\kappa\) here in drafts before 2026m09d08;
kapin the code.- \(r_{M \rightarrow \text{out}}\) — the crisis clock
E — (derived) · was \(b+c\)
how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days.
T \(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total rate of leaving MAD by any arrow. Michaelis–Menten \(K_m\). Was \(\mu + \kappa\) here in drafts before 2026m09d08. Written
rMADescapes + rMADtoDEATHin the code; it has no identifier of its own.- \(p_{M \rightarrow D}\) — the per-crisis chance of nuclear winter
E — (derived: \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)) · was \(p_{death}\)
of all the crises the world enters, the share that go all the way to Dead instead of back to Risky. Base case: 1/3. This number and the crisis rate are not separately identified: fixing it at 1/3 is what defines which near-disasters count as “Cuban-Missile-Crisis type” and are therefore counted by
rRiskyGoMAD. If the true per-crisis chance is higher than 1/3, the same forecast follows from a correspondingly higher effectiverRiskyGoMAD, and vice versa. Neither is known separately; what the study assumes is that their product lies between the bounds discussed in the text. Section 14.1 makes this exact.Warning
This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name.
T Same arrow as \(r_{M \rightarrow D}\), but a probability rather than a rate — which is why the defining identity \(p_{M \rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\) can be read straight off the notation: the share of the leaving-rate that goes to D. Enzymology: commitment to catalysis; specificity constant \(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this, not of the crisis rate. Was \(p_{\text{end}}\) here in drafts before 2026m09d08. Companion code:
p_M_to_D, returned byp_end().- \(T_{R \rightarrow D}\) — the waiting time
E — (derived) · was \(T_R\)
years from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date.
T First-passage time to absorption from Risky. Not a half-life, not a deadline. Was \(W\) here in drafts before 2026m09d08. Companion code:
T_R_to_D, frommean_wait().- \(T_{M \rightarrow D}\) — the waiting time from inside a crisis
E — (derived) · was \(T_M\)
years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts.
T First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Was \(W_{\text{crisis}}\) here in drafts before 2026m09d08. Not a separate identifier in the companion code.
- \(r_{\text{onset}}\) — the onset rate
E — (derived) · was \(r_1\)
the composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2).
T Smaller root of the characteristic quadratic; the decay rate of the quasi-stationary distribution; the asymptotic hazard. It is an equilibrium rate in every sense that can apply to an absorbing chain. Strictly the chain has no equilibrium, since all probability drains into Dead (only 0.13 % of worlds survive 200 years); what it settles into is the quasi-stationary state — an equilibrium among the survivors, who divide 98.9 % Risky / 1.1 % MAD. But that state has the defining property one would want: started from it, the waiting time is exactly exponential at rate \(r_{\text{onset}}\), with no correction term at any horizon (section 7.5, checked to machine precision). It is not named \(r_{R \rightarrow D}\), because R → D is not a transition of the model: there is no direct arrow, only the composite journey through M. Bounded exactly by \(1/T_{R \rightarrow D} < r_{\text{onset}} < r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section 7.1). Was \(r_{\text{slow}}\) here in drafts before 2026m09d08. Companion code:
r_onset, the first value returned bydecay_rates().- \(r_{\text{relax}}\) — the relaxation rate
E — (derived) · was \(r_2\)
not a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5).
T Larger root of the same quadratic. Standard usage in kinetics and in Markov-chain theory calls \(1/(r_{\text{relax}} - r_{\text{onset}})\) the relaxation time; here the two differ by 0.37 % (40.43 d against 40.28 d), so the distinction never matters numerically but is stated to keep the identification honest. It is likewise close to, but not equal to, the crisis clock: \(r_{\text{relax}} = 9.067\)/yr against \(r_{M \rightarrow \text{out}} = 9.000\)/yr, larger by 0.74 %, and section 7.1 proves that inequality is strict whenever \(r_{M \rightarrow R} > 0\). Section 7.3 explains why the two exponentials of the closed form are not the two physical stages. Was \(r_{\text{fast}}\) here in drafts before 2026m09d08. Companion code:
r_relax, the second value returned bydecay_rates().- \(n_{MAD}\) — the number of MAD crises
E — (derived: \(1/p_{M \rightarrow D}\)) · was — (implicit)
the world passes through before one of them reaches Dead — on average 3
T Geometric random variable with success probability \(p_{M \rightarrow D}\). This is the factor that answers the “loop objection” (section 5.5). Was \(n_{\text{tries}}\) here in drafts before 2026m09d08. Companion code:
excursions().- \(q_{\text{dead}}\) — the death fraction
E — (external) · was \(q\)
the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone.
T Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports.
- \(r_{\text{flux}}\) — the flux of worlds
E — (derived: \(1/T_{R \rightarrow D}\)) · was \(v\)
onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced.
T Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose.
- \(r_{\text{all}}\) — the sum of every rate in the model
E — (derived) · was \(\lambda + b + c\)
\(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too.
T Minus the trace of the transient generator. Appears in both Vieta relations: \(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\), which is the quickest check that the two roots were solved correctly. Was \(\Sigma\) here in drafts before 2026m09d08. Companion code: the local
totalinsidedecay_rates(), andr_allincrosschecks.py.- \(p_{\text{winter}}(t)\) — the density
E — (derived: the density of \(T_{R \rightarrow D}\)) · was — (not in b16)
how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2.
T Probability density function of the waiting time. Lower case on purpose: \(P(\cdot)\) in these same equations is a probability, and a density is not one — the case carries the type. Named for the event rather than the arrow (
winter, not \(T_{R \rightarrow D}\)) because a nested arrow subscript is unreadable at this size, and because accidental nuclear winter is what the whole paper is about.- \(\Delta\) — the discriminant
E — (derived) · was — (not in b16)
the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5).
T \(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations.
- \(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) — the two clocks
E — (local, section 4 only) · was — (not in b16)
a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all.
T Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. Was \(C_\mu, C_\kappa\) here in drafts before 2026m09d08. A proof device only; it has no counterpart in the companion code.
V2. Index plus entries — the split#
The move. Keep a table for exactly the part that is genuinely tabular — the three short columns, one line per row, all 16 comparable at a glance — and put the prose below it as V1 entries. The index fits on one page and can be printed and kept beside the paper.
It is a grid table rather than a list-table, because only a grid table can span
columns, and the group headings need to span. .. table:: wraps it so :widths:
still applies. The six group names are Claude’s editorial grouping, not the
paper’s: they follow the paper’s own in/out distinction (“the notation itself says
which quantities to put in and which ones come out”), but the paper never states
these six names. Drop them if they over-reach — the layout works without them.
Brief |
Explicit |
Summarizing |
was |
|---|---|---|---|
Put in — the three arrows, measured or assumed |
|||
\(r_{R \rightarrow M}\) |
|
the crisis rate |
\(\lambda\) |
\(r_{M \rightarrow R}\) |
|
the de-escalation rate |
\(b\) |
\(r_{M \rightarrow D}\) |
|
the kill escalation rate |
\(c\) |
Put in — from outside the model |
|||
\(q_{\text{dead}}\) |
— (external) |
the death fraction |
\(q\) |
Comes out — rates |
|||
\(r_{M \rightarrow \text{out}}\) |
— (derived) |
the crisis clock |
\(b+c\) |
\(r_{\text{onset}}\) |
— (derived) |
the onset rate |
\(r_1\) |
\(r_{\text{relax}}\) |
— (derived) |
the relaxation rate |
\(r_2\) |
\(r_{\text{flux}}\) |
— (derived: \(1/T_{R \rightarrow D}\)) |
the flux of worlds |
\(v\) |
\(r_{\text{all}}\) |
— (derived) |
the sum of every rate in the model |
\(\lambda + b + c\) |
Comes out — probabilities, counts, densities |
|||
\(p_{M \rightarrow D}\) |
— (derived: \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)) |
the per-crisis chance of nuclear winter |
\(p_{death}\) |
\(n_{MAD}\) |
— (derived: \(1/p_{M \rightarrow D}\)) |
the number of MAD crises |
— (implicit) |
\(p_{\text{winter}}(t)\) |
— (derived: the density of \(T_{R \rightarrow D}\)) |
the density |
— (not in b16) |
Comes out — times |
|||
\(T_{R \rightarrow D}\) |
— (derived) |
the waiting time |
\(T_R\) |
\(T_{M \rightarrow D}\) |
— (derived) |
the waiting time from inside a crisis |
\(T_M\) |
Local proof devices, used once |
|||
\(\Delta\) |
— (derived) |
the discriminant |
— (not in b16) |
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) |
— (local, section 4 only) |
the two clocks |
— (not in b16) |
The entries
- \(r_{R \rightarrow M}\) — the crisis rate
E
rRiskyGoMAD· was \(\lambda\)how often a Risky world walks into a MAD nuclear crisis, per year
T Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is the nearest published relative. Textbook generator entry \(q_{RM}\). Was \(\lambda\) here in drafts before 2026m09d08;
lamin the code.- \(r_{M \rightarrow R}\) — the de-escalation rate
E
rMADescapes· was \(b\)how fast a MAD crisis walks back to Risky safety, per year
T Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\). Was \(\mu\) here in drafts before 2026m09d08;
muin the code.- \(r_{M \rightarrow D}\) — the kill escalation rate
E
rMADtoDEATH· was \(c\)how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year.
T Enzymology \(k_{cat}\), the committed step. Michaelis–Menten \(V_{max}\): you cannot destroy the world faster than this. Textbook \(q_{MD}\). Was \(\kappa\) here in drafts before 2026m09d08;
kapin the code.- \(r_{M \rightarrow \text{out}}\) — the crisis clock
E — (derived) · was \(b+c\)
how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days.
T \(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total rate of leaving MAD by any arrow. Michaelis–Menten \(K_m\). Was \(\mu + \kappa\) here in drafts before 2026m09d08. Written
rMADescapes + rMADtoDEATHin the code; it has no identifier of its own.- \(p_{M \rightarrow D}\) — the per-crisis chance of nuclear winter
E — (derived: \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)) · was \(p_{death}\)
of all the crises the world enters, the share that go all the way to Dead instead of back to Risky. Base case: 1/3. This number and the crisis rate are not separately identified: fixing it at 1/3 is what defines which near-disasters count as “Cuban-Missile-Crisis type” and are therefore counted by
rRiskyGoMAD. If the true per-crisis chance is higher than 1/3, the same forecast follows from a correspondingly higher effectiverRiskyGoMAD, and vice versa. Neither is known separately; what the study assumes is that their product lies between the bounds discussed in the text. Section 14.1 makes this exact.Warning
This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name.
T Same arrow as \(r_{M \rightarrow D}\), but a probability rather than a rate — which is why the defining identity \(p_{M \rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\) can be read straight off the notation: the share of the leaving-rate that goes to D. Enzymology: commitment to catalysis; specificity constant \(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this, not of the crisis rate. Was \(p_{\text{end}}\) here in drafts before 2026m09d08. Companion code:
p_M_to_D, returned byp_end().- \(T_{R \rightarrow D}\) — the waiting time
E — (derived) · was \(T_R\)
years from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date.
T First-passage time to absorption from Risky. Not a half-life, not a deadline. Was \(W\) here in drafts before 2026m09d08. Companion code:
T_R_to_D, frommean_wait().- \(T_{M \rightarrow D}\) — the waiting time from inside a crisis
E — (derived) · was \(T_M\)
years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts.
T First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Was \(W_{\text{crisis}}\) here in drafts before 2026m09d08. Not a separate identifier in the companion code.
- \(r_{\text{onset}}\) — the onset rate
E — (derived) · was \(r_1\)
the composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2).
T Smaller root of the characteristic quadratic; the decay rate of the quasi-stationary distribution; the asymptotic hazard. It is an equilibrium rate in every sense that can apply to an absorbing chain. Strictly the chain has no equilibrium, since all probability drains into Dead (only 0.13 % of worlds survive 200 years); what it settles into is the quasi-stationary state — an equilibrium among the survivors, who divide 98.9 % Risky / 1.1 % MAD. But that state has the defining property one would want: started from it, the waiting time is exactly exponential at rate \(r_{\text{onset}}\), with no correction term at any horizon (section 7.5, checked to machine precision). It is not named \(r_{R \rightarrow D}\), because R → D is not a transition of the model: there is no direct arrow, only the composite journey through M. Bounded exactly by \(1/T_{R \rightarrow D} < r_{\text{onset}} < r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section 7.1). Was \(r_{\text{slow}}\) here in drafts before 2026m09d08. Companion code:
r_onset, the first value returned bydecay_rates().- \(r_{\text{relax}}\) — the relaxation rate
E — (derived) · was \(r_2\)
not a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5).
T Larger root of the same quadratic. Standard usage in kinetics and in Markov-chain theory calls \(1/(r_{\text{relax}} - r_{\text{onset}})\) the relaxation time; here the two differ by 0.37 % (40.43 d against 40.28 d), so the distinction never matters numerically but is stated to keep the identification honest. It is likewise close to, but not equal to, the crisis clock: \(r_{\text{relax}} = 9.067\)/yr against \(r_{M \rightarrow \text{out}} = 9.000\)/yr, larger by 0.74 %, and section 7.1 proves that inequality is strict whenever \(r_{M \rightarrow R} > 0\). Section 7.3 explains why the two exponentials of the closed form are not the two physical stages. Was \(r_{\text{fast}}\) here in drafts before 2026m09d08. Companion code:
r_relax, the second value returned bydecay_rates().- \(n_{MAD}\) — the number of MAD crises
E — (derived: \(1/p_{M \rightarrow D}\)) · was — (implicit)
the world passes through before one of them reaches Dead — on average 3
T Geometric random variable with success probability \(p_{M \rightarrow D}\). This is the factor that answers the “loop objection” (section 5.5). Was \(n_{\text{tries}}\) here in drafts before 2026m09d08. Companion code:
excursions().- \(q_{\text{dead}}\) — the death fraction
E — (external) · was \(q\)
the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone.
T Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports.
- \(r_{\text{flux}}\) — the flux of worlds
E — (derived: \(1/T_{R \rightarrow D}\)) · was \(v\)
onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced.
T Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose.
- \(r_{\text{all}}\) — the sum of every rate in the model
E — (derived) · was \(\lambda + b + c\)
\(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too.
T Minus the trace of the transient generator. Appears in both Vieta relations: \(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\), which is the quickest check that the two roots were solved correctly. Was \(\Sigma\) here in drafts before 2026m09d08. Companion code: the local
totalinsidedecay_rates(), andr_allincrosschecks.py.- \(p_{\text{winter}}(t)\) — the density
E — (derived: the density of \(T_{R \rightarrow D}\)) · was — (not in b16)
how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2.
T Probability density function of the waiting time. Lower case on purpose: \(P(\cdot)\) in these same equations is a probability, and a density is not one — the case carries the type. Named for the event rather than the arrow (
winter, not \(T_{R \rightarrow D}\)) because a nested arrow subscript is unreadable at this size, and because accidental nuclear winter is what the whole paper is about.- \(\Delta\) — the discriminant
E — (derived) · was — (not in b16)
the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5).
T \(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations.
- \(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) — the two clocks
E — (local, section 4 only) · was — (not in b16)
a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all.
T Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. Was \(C_\mu, C_\kappa\) here in drafts before 2026m09d08. A proof device only; it has no counterpart in the companion code.
A modifier, not a seventh layout: the fold. The same entries with each T block
inside a .. dropdown::. In the browser it is collapsed, so the page becomes the
index plus 16 one-line glosses. In the PDF it prints in full — checked:
sphinx-design emits \\subsubsection* plus the content, so nothing is lost in
print. One source, two media, each getting what it wants. It can be switched on for
V2, V4 or V5 alike, which is why it is shown once here rather than counted as a
layout of its own. Three entries only:
- \(r_{R \rightarrow M}\) — the crisis rate
E
rRiskyGoMAD· was \(\lambda\)how often a Risky world walks into a MAD nuclear crisis, per year
Technical — synonyms, identities, prior symbol
Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is the nearest published relative. Textbook generator entry \(q_{RM}\). Was \(\lambda\) here in drafts before 2026m09d08;
lamin the code.- \(r_{M \rightarrow R}\) — the de-escalation rate
E
rMADescapes· was \(b\)how fast a MAD crisis walks back to Risky safety, per year
Technical — synonyms, identities, prior symbol
Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\). Was \(\mu\) here in drafts before 2026m09d08;
muin the code.- \(r_{M \rightarrow D}\) — the kill escalation rate
E
rMADtoDEATH· was \(c\)how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year.
Technical — synonyms, identities, prior symbol
Enzymology \(k_{cat}\), the committed step. Michaelis–Menten \(V_{max}\): you cannot destroy the world faster than this. Textbook \(q_{MD}\). Was \(\kappa\) here in drafts before 2026m09d08;
kapin the code.- \(r_{M \rightarrow \text{out}}\) — the crisis clock
E — (derived) · was \(b+c\)
how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days.
Technical — synonyms, identities, prior symbol
V3. One table still, two rows per symbol#
The move. Stay inside a single table object, but transpose it: each symbol takes
a narrow data row (B, E, was), then full-width spanning rows for S and
T. This needs a grid table; list-table has no column spans.
Buys it is still one table, with one caption and one number, for readers and
reviewers who expect a nomenclature table to be a table — and it is the most
compact of the six in print. Costs grid tables are character-aligned, and
docutils drops a misaligned one silently: no warning, no error, the table simply
vanishes. That happened twice while this page was being built — once on the first
probe, once when the nested .. warning:: in the \(p_{M \rightarrow D}\) cell
was re-wrapped one character too wide. At 16 entries with 1000-character cells this
is only maintainable if a script owns the file, and then the small hand-edit that a
reviewer’s comment calls for is no longer a hand-edit.
Brief |
Explicit |
was |
|---|---|---|
\(r_{R \rightarrow M}\) |
|
\(\lambda\) |
the crisis rate — how often a Risky world walks into a MAD nuclear crisis, per year |
||
T Poisson arrival rate. Enzymology \(k_{on}[S]\).
Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is
the nearest published relative. Textbook generator entry \(q_{RM}\).
Was \(\lambda\) here in drafts before 2026m09d08; |
||
\(r_{M \rightarrow R}\) |
|
\(b\) |
the de-escalation rate — how fast a MAD crisis walks back to Risky safety, per year |
||
T Queueing service rate. Enzymology \(k_{off}\). Textbook
\(q_{MR}\). Was \(\mu\) here in drafts before
2026m09d08; |
||
\(r_{M \rightarrow D}\) |
|
\(c\) |
the kill escalation rate — how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year. |
||
T Enzymology \(k_{cat}\), the committed step. Michaelis–Menten
\(V_{max}\): you cannot destroy the world faster than this.
Textbook \(q_{MD}\). Was \(\kappa\) here in drafts before
2026m09d08; |
||
\(r_{M \rightarrow \text{out}}\) |
— (derived) |
\(b+c\) |
the crisis clock — how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days. |
||
T \(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total
rate of leaving MAD by any arrow. Michaelis–Menten \(K_m\). Was
\(\mu + \kappa\) here in drafts before 2026m09d08. Written
|
||
\(p_{M \rightarrow D}\) |
— (derived: \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)) |
\(p_{death}\) |
the per-crisis chance of nuclear winter — of all the crises the
world enters, the share that go all the way to Dead instead of back to
Risky. Base case: 1/3. This number and the crisis rate are not
separately identified: fixing it at 1/3 is what defines which
near-disasters count as “Cuban-Missile-Crisis type” and are therefore
counted by Warning This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name. |
||
T Same arrow as \(r_{M \rightarrow D}\), but a probability
rather than a rate — which is why the defining identity \(p_{M
\rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\) can
be read straight off the notation: the share of the leaving-rate that
goes to D. Enzymology: commitment to catalysis; specificity constant
\(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this,
not of the crisis rate. Was \(p_{\text{end}}\) here in drafts
before 2026m09d08. Companion code: |
||
\(T_{R \rightarrow D}\) |
— (derived) |
\(T_R\) |
the waiting time — years from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date. |
||
T First-passage time to absorption from Risky. Not a half-life,
not a deadline. Was \(W\) here in drafts before
2026m09d08. Companion code: |
||
\(T_{M \rightarrow D}\) |
— (derived) |
\(T_M\) |
the waiting time from inside a crisis — years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts. |
||
T First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Was \(W_{\text{crisis}}\) here in drafts before 2026m09d08. Not a separate identifier in the companion code. |
||
\(r_{\text{onset}}\) |
— (derived) |
\(r_1\) |
the onset rate — the composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2). |
||
T Smaller root of the characteristic quadratic; the decay rate of
the quasi-stationary distribution; the asymptotic hazard. It is an
equilibrium rate in every sense that can apply to an absorbing chain.
Strictly the chain has no equilibrium, since all probability drains into
Dead (only 0.13 % of worlds survive 200 years); what it settles into is
the quasi-stationary state — an equilibrium among the survivors,
who divide 98.9 % Risky / 1.1 % MAD. But that state has the defining
property one would want: started from it, the waiting time is exactly
exponential at rate \(r_{\text{onset}}\), with no correction term
at any horizon (section 7.5, checked to machine precision). It is
not named \(r_{R \rightarrow D}\), because R → D is not a
transition of the model: there is no direct arrow, only the composite
journey through M. Bounded exactly by \(1/T_{R \rightarrow D} <
r_{\text{onset}} < r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section
7.1). Was \(r_{\text{slow}}\) here in drafts before
2026m09d08. Companion code: |
||
\(r_{\text{relax}}\) |
— (derived) |
\(r_2\) |
the relaxation rate — not a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5). |
||
T Larger root of the same quadratic. Standard usage in kinetics and
in Markov-chain theory calls \(1/(r_{\text{relax}} -
r_{\text{onset}})\) the relaxation time; here the two differ by 0.37 %
(40.43 d against 40.28 d), so the distinction never matters numerically
but is stated to keep the identification honest. It is likewise close
to, but not equal to, the crisis clock: \(r_{\text{relax}} =
9.067\)/yr against \(r_{M \rightarrow \text{out}} = 9.000\)/yr,
larger by 0.74 %, and section 7.1 proves that inequality is strict
whenever \(r_{M \rightarrow R} > 0\). Section 7.3 explains why the
two exponentials of the closed form are not the two physical stages.
Was \(r_{\text{fast}}\) here in drafts before 2026m09d08.
Companion code: |
||
\(n_{MAD}\) |
— (derived: \(1/p_{M \rightarrow D}\)) |
— (implicit) |
the number of MAD crises — the world passes through before one of them reaches Dead — on average 3 |
||
T Geometric random variable with success probability \(p_{M
\rightarrow D}\). This is the factor that answers the “loop objection”
(section 5.5). Was \(n_{\text{tries}}\) here in drafts before
2026m09d08. Companion code: |
||
\(q_{\text{dead}}\) |
— (external) |
\(q\) |
the death fraction — the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone. |
||
T Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports. |
||
\(r_{\text{flux}}\) |
— (derived: \(1/T_{R \rightarrow D}\)) |
\(v\) |
the flux of worlds — onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced. |
||
T Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose. |
||
\(r_{\text{all}}\) |
— (derived) |
\(\lambda + b + c\) |
the sum of every rate in the model — \(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too. |
||
T Minus the trace of the transient generator. Appears in both Vieta
relations: \(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\),
which is the quickest check that the two roots were solved correctly.
Was \(\Sigma\) here in drafts before 2026m09d08. Companion
code: the local |
||
\(p_{\text{winter}}(t)\) |
— (derived: the density of \(T_{R \rightarrow D}\)) |
— (not in b16) |
the density — how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2. |
||
T Probability density function of the waiting time. Lower case on
purpose: \(P(\cdot)\) in these same equations is a probability,
and a density is not one — the case carries the type. Named for the
event rather than the arrow ( |
||
\(\Delta\) |
— (derived) |
— (not in b16) |
the discriminant — the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5). |
||
T \(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations. |
||
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) |
— (local, section 4 only) |
— (not in b16) |
the two clocks — a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all. |
||
T Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. Was \(C_\mu, C_\kappa\) here in drafts before 2026m09d08. A proof device only; it has no counterpart in the companion code. |
||
V4. Factored — say each thing once, then index plus entries#
The move. V2’s containers, plus three content decisions that the measurement in section 0 argues for. These change the paper, not just its layout, so each needs LLoL’s approval on its own:
Put the code identifiers back in the E column.
p_M_to_D,T_R_to_D,r_onset,r_relax,excursions()andr_allmove out of the T prose into the column named for them. The E column goes from 3/16 filled to 9/16, and the BEST scheme starts telling the truth about itself. The other seven rows keep “— (derived)” honestly: the paper says of \(T_{M \rightarrow D}\) that it is “not a separate identifier in the companion code”, and of \(r_{M \rightarrow \text{out}}\) that “it has no identifier of its own”. Those stay empty because they are empty.State the 2026m09d08 rename once. Twelve entries repeat “Was X here in drafts before 2026m09d08” while the was column already carries X. One small table replaces all twelve. It is also the part that becomes deletable when the rename stops being news — worth having in one place for that day.
Let Table F own the enzymology. Four T cells restate the Michaelis–Menten mapping that Table F already tabulates. A pointer, not a copy. (Not applied below — decision 3 needs a judgment about how self-contained the names table should be, which is LLoL’s to make. Decisions 1 and 2 are applied so they can be seen.)
Buys the largest saving of the six and the only one that is also a content fix. Costs it is the only variant that needs entry-by-entry approval, and the migration table is a new object to maintain until it can be retired.
Brief |
Explicit (model code) |
Summarizing |
|---|---|---|
Put in — the three arrows, measured or assumed |
||
\(r_{R \rightarrow M}\) |
|
the crisis rate |
\(r_{M \rightarrow R}\) |
|
the de-escalation rate |
\(r_{M \rightarrow D}\) |
|
the kill escalation rate |
Put in — from outside the model |
||
\(q_{\text{dead}}\) |
— (external) |
the death fraction |
Comes out — rates |
||
\(r_{M \rightarrow \text{out}}\) |
— (derived) |
the crisis clock |
\(r_{\text{onset}}\) |
|
the onset rate |
\(r_{\text{relax}}\) |
|
the relaxation rate |
\(r_{\text{flux}}\) |
— (derived) |
the flux of worlds |
\(r_{\text{all}}\) |
|
the sum of every rate in the model |
Comes out — probabilities, counts, densities |
||
\(p_{M \rightarrow D}\) |
|
the per-crisis chance of nuclear winter |
\(n_{MAD}\) |
|
the number of MAD crises |
\(p_{\text{winter}}(t)\) |
— (derived) |
the density |
Comes out — times |
||
\(T_{R \rightarrow D}\) |
|
the waiting time |
\(T_{M \rightarrow D}\) |
— (derived) |
the waiting time from inside a crisis |
Local proof devices, used once |
||
\(\Delta\) |
— (derived) |
the discriminant |
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) |
— (local, section 4 only) |
the two clocks |
The one-time rename, in one place
this document, before 2026m09d08 |
this document, now |
in b16 itself |
|---|---|---|
\(\lambda\) |
\(r_{R \rightarrow M}\) |
\(\lambda\) |
\(\mu\) |
\(r_{M \rightarrow R}\) |
\(b\) |
\(\kappa\) |
\(r_{M \rightarrow D}\) |
\(c\) |
\(\mu + \kappa\) |
\(r_{M \rightarrow \text{out}}\) |
\(b+c\) |
\(p_{\text{end}}\) |
\(p_{M \rightarrow D}\) |
\(p_{death}\) |
\(W\) |
\(T_{R \rightarrow D}\) |
\(T_R\) |
\(W_{\text{crisis}}\) |
\(T_{M \rightarrow D}\) |
\(T_M\) |
\(r_{\text{slow}}\) |
\(r_{\text{onset}}\) |
\(r_1\) |
\(r_{\text{fast}}\) |
\(r_{\text{relax}}\) |
\(r_2\) |
\(n_{\text{tries}}\) |
\(n_{MAD}\) |
— (implicit) |
— (unchanged) |
\(q_{\text{dead}}\) |
\(q\) |
— (unchanged) |
\(r_{\text{flux}}\) |
\(v\) |
\(\Sigma\) |
\(r_{\text{all}}\) |
\(\lambda + b + c\) |
— (unchanged) |
\(p_{\text{winter}}(t)\) |
— (not in b16) |
— (unchanged) |
\(\Delta\) |
— (not in b16) |
\(C_\mu, C_\kappa\) |
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) |
— (not in b16) |
The entries, with T carrying only what is unique to each symbol
- \(r_{R \rightarrow M}\) — the crisis rate
E
rRiskyGoMADhow often a Risky world walks into a MAD nuclear crisis, per year
T Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is the nearest published relative. Textbook generator entry \(q_{RM}\).
- \(r_{M \rightarrow R}\) — the de-escalation rate
E
rMADescapeshow fast a MAD crisis walks back to Risky safety, per year
T Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\).
- \(r_{M \rightarrow D}\) — the kill escalation rate
E
rMADtoDEATHhow fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year.
T Enzymology \(k_{cat}\), the committed step. Michaelis–Menten \(V_{max}\): you cannot destroy the world faster than this. Textbook \(q_{MD}\).
- \(r_{M \rightarrow \text{out}}\) — the crisis clock
E — (derived)
how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days.
T \(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total rate of leaving MAD by any arrow. Michaelis–Menten \(K_m\). Written
rMADescapes + rMADtoDEATHin the code; it has no identifier of its own.- \(p_{M \rightarrow D}\) — the per-crisis chance of nuclear winter
E
p_M_to_D· derived as \(r_{M \rightarrow D} / r_{M \rightarrow \text{out}}\)of all the crises the world enters, the share that go all the way to Dead instead of back to Risky. Base case: 1/3. This number and the crisis rate are not separately identified: fixing it at 1/3 is what defines which near-disasters count as “Cuban-Missile-Crisis type” and are therefore counted by
rRiskyGoMAD. If the true per-crisis chance is higher than 1/3, the same forecast follows from a correspondingly higher effectiverRiskyGoMAD, and vice versa. Neither is known separately; what the study assumes is that their product lies between the bounds discussed in the text. Section 14.1 makes this exact.Warning
This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name.
T Same arrow as \(r_{M \rightarrow D}\), but a probability rather than a rate — which is why the defining identity \(p_{M \rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\) can be read straight off the notation: the share of the leaving-rate that goes to D. Enzymology: commitment to catalysis; specificity constant \(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this, not of the crisis rate. Companion code: returned by
p_end().- \(T_{R \rightarrow D}\) — the waiting time
E
T_R_to_Dyears from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date.
T First-passage time to absorption from Risky. Not a half-life, not a deadline. Companion code: from
mean_wait().- \(T_{M \rightarrow D}\) — the waiting time from inside a crisis
E — (derived)
years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts.
T First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Not a separate identifier in the companion code.
- \(r_{\text{onset}}\) — the onset rate
E
r_onsetthe composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2).
T Smaller root of the characteristic quadratic; the decay rate of the quasi-stationary distribution; the asymptotic hazard. It is an equilibrium rate in every sense that can apply to an absorbing chain. Strictly the chain has no equilibrium, since all probability drains into Dead (only 0.13 % of worlds survive 200 years); what it settles into is the quasi-stationary state — an equilibrium among the survivors, who divide 98.9 % Risky / 1.1 % MAD. But that state has the defining property one would want: started from it, the waiting time is exactly exponential at rate \(r_{\text{onset}}\), with no correction term at any horizon (section 7.5, checked to machine precision). It is not named \(r_{R \rightarrow D}\), because R → D is not a transition of the model: there is no direct arrow, only the composite journey through M. Bounded exactly by \(1/T_{R \rightarrow D} < r_{\text{onset}} < r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section 7.1). Companion code: the first value returned by
decay_rates().- \(r_{\text{relax}}\) — the relaxation rate
E
r_relaxnot a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5).
T Larger root of the same quadratic. Standard usage in kinetics and in Markov-chain theory calls \(1/(r_{\text{relax}} - r_{\text{onset}})\) the relaxation time; here the two differ by 0.37 % (40.43 d against 40.28 d), so the distinction never matters numerically but is stated to keep the identification honest. It is likewise close to, but not equal to, the crisis clock: \(r_{\text{relax}} = 9.067\)/yr against \(r_{M \rightarrow \text{out}} = 9.000\)/yr, larger by 0.74 %, and section 7.1 proves that inequality is strict whenever \(r_{M \rightarrow R} > 0\). Section 7.3 explains why the two exponentials of the closed form are not the two physical stages. Companion code: the second value returned by
decay_rates().- \(n_{MAD}\) — the number of MAD crises
E
excursions()· derived as \(1/p_{M \rightarrow D}\)the world passes through before one of them reaches Dead — on average 3
T Geometric random variable with success probability \(p_{M \rightarrow D}\). This is the factor that answers the “loop objection” (section 5.5).
- \(q_{\text{dead}}\) — the death fraction
E — (external)
the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone.
T Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports.
- \(r_{\text{flux}}\) — the flux of worlds
E — (derived as \(1/T_{R \rightarrow D}\))
onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced.
T Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose.
- \(r_{\text{all}}\) — the sum of every rate in the model
E
r_all\(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too.
T Minus the trace of the transient generator. Appears in both Vieta relations: \(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\), which is the quickest check that the two roots were solved correctly. Companion code: the local
totalinsidedecay_rates(), andr_allincrosschecks.py.- \(p_{\text{winter}}(t)\) — the density
E — (derived as the density of \(T_{R \rightarrow D}\))
how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2.
T Probability density function of the waiting time. Lower case on purpose: \(P(\cdot)\) in these same equations is a probability, and a density is not one — the case carries the type. Named for the event rather than the arrow (
winter, not \(T_{R \rightarrow D}\)) because a nested arrow subscript is unreadable at this size, and because accidental nuclear winter is what the whole paper is about.- \(\Delta\) — the discriminant
E — (derived)
the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5).
T \(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations.
- \(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) — the two clocks
E — (local, section 4 only)
a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all.
T Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. A proof device only; it has no counterpart in the companion code.
V5. A glossary — the option LLoL asked to see tested#
The move. Put the entries in a Sphinx .. glossary:: instead of a definition
list. Structurally it is V1; what it adds is machinery. Each entry becomes a
:term: target, so anywhere in the paper :term:`r_onset` links to it —
and because this site runs sphinx-tippy with p in its tip selector, an HTML
reader should get the definition as a hover tooltip without leaving the page.
That is the strongest answer to “I met this symbol on page 12 and do not want to
lose my place” that any of the six offers.
Costs, and they are real. A glossary term is plain text, so the natural key —
the math symbol — cannot be the term. Each entry below is therefore keyed on the
code name (r_onset) with the headword as a second term, and the seven
quantities that have no code name are keyed on the headword alone. That is a
heterogeneous key set, and :sorted: then interleaves excursions() with “the
discriminant” in one alphabet. In print the machinery buys nothing — LaTeX
renders a glossary as the same definition list as V1, so the PDF pays V1’s cost for
V5’s HTML benefit.
The tooltip claim is expected, not checked. It needs a full make html with
tippy enabled; make dev strips the extension. Worth checking before this variant
is chosen for that reason.
Note
Rendered as a plain definition list here, not as a live
.. glossary::. The paper now owns these sixteen :term: targets
(section 3.2), and a glossary term is unique across
the whole site — a second live copy on this page would collide with every one of
them. The visual record is unaffected, because a glossary renders as exactly this
definition list in both HTML and PDF; what is dropped is only the cross-reference
machinery, which is the thing V5 was proposed for. That the demonstration had
to be defused the moment the real one shipped is itself the strongest evidence the
machinery works.
- rRiskyGoMAD — the crisis rate
\(r_{R \rightarrow M}\) — the crisis rate
how often a Risky world walks into a MAD nuclear crisis, per year
T Poisson arrival rate. Enzymology \(k_{on}[S]\). Michaelis–Menten substrate \(S\). Hellman’s \(\lambda_{IE}\) is the nearest published relative. Textbook generator entry \(q_{RM}\). Was \(\lambda\) here in drafts before 2026m09d08;
lamin the code.- rMADescapes — the de-escalation rate
\(r_{M \rightarrow R}\) — the de-escalation rate
how fast a MAD crisis walks back to Risky safety, per year
T Queueing service rate. Enzymology \(k_{off}\). Textbook \(q_{MR}\). Was \(\mu\) here in drafts before 2026m09d08;
muin the code.- rMADtoDEATH — the kill escalation rate
\(r_{M \rightarrow D}\) — the kill escalation rate
how fast a MAD crisis explodes into accidental nuclear winter, per year, if this MAD crisis was to actually last for a year.
T Enzymology \(k_{cat}\), the committed step. Michaelis–Menten \(V_{max}\): you cannot destroy the world faster than this. Textbook \(q_{MD}\). Was \(\kappa\) here in drafts before 2026m09d08;
kapin the code.- the crisis clock
\(r_{M \rightarrow \text{out}}\) — the crisis clock
how fast a crisis resolves, either way (by mending or killing). Its reciprocal is the mean crisis duration, ≈ 40 days.
T \(= r_{M \rightarrow R} + r_{M \rightarrow D}\), the total rate of leaving MAD by any arrow. Michaelis–Menten \(K_m\). Was \(\mu + \kappa\) here in drafts before 2026m09d08. Written
rMADescapes + rMADtoDEATHin the code; it has no identifier of its own.- p_M_to_D — the per-crisis chance of nuclear winter
\(p_{M \rightarrow D}\) — the per-crisis chance of nuclear winter
of all the crises the world enters, the share that go all the way to Dead instead of back to Risky. Base case: 1/3. This number and the crisis rate are not separately identified: fixing it at 1/3 is what defines which near-disasters count as “Cuban-Missile-Crisis type” and are therefore counted by
rRiskyGoMAD. If the true per-crisis chance is higher than 1/3, the same forecast follows from a correspondingly higher effectiverRiskyGoMAD, and vice versa. Neither is known separately; what the study assumes is that their product lies between the bounds discussed in the text. Section 14.1 makes this exact.Warning
This is not anybody’s personal risk. “1/3” is a conditional about crises — given a crisis has begun, the share that run all the way. An individual’s annual chance of dying is a different quantity by two orders of magnitude: \(P(T_{R \rightarrow D} \leq 1) \times q_{\text{dead}} = 0.029 \times 0.3 \approx\) 0.9 % per year. Any reader who reads “1 in 3” as a personal odds has been misled by the notation, which is why \(p_{death}\) was retired as a name.
T Same arrow as \(r_{M \rightarrow D}\), but a probability rather than a rate — which is why the defining identity \(p_{M \rightarrow D} = r_{M \rightarrow D}/r_{M \rightarrow \text{out}}\) can be read straight off the notation: the share of the leaving-rate that goes to D. Enzymology: commitment to catalysis; specificity constant \(k_{cat}/K_m\). Kennedy’s Cuban estimate is a reading of this, not of the crisis rate. Was \(p_{\text{end}}\) here in drafts before 2026m09d08. Companion code:
p_M_to_D, returned byp_end().- T_R_to_D — the waiting time
\(T_{R \rightarrow D}\) — the waiting time
years from now (world is Risky) until onset of accidental nuclear winter (world is Dead after taking the wrong turn in a MAD state). A random quantity following a distribution, not a fixed date.
T First-passage time to absorption from Risky. Not a half-life, not a deadline. Was \(W\) here in drafts before 2026m09d08. Companion code:
T_R_to_D, frommean_wait().- the waiting time from inside a crisis
\(T_{M \rightarrow D}\) — the waiting time from inside a crisis
years from the start of some crisis until Dead, counting everything that follows if this crisis de-escalates: the return to Risky, the wait for the next crisis, and every later crisis until one of them ends it. Base case 20.3 years — note years, not the 40 days a single crisis lasts.
T First-passage time to absorption from MAD. A bookkeeping quantity; it appears only inside the derivation. One symbol is enough, because the duration of the final crisis is not a separate unknown: by Fact 3 a crisis lasts \(1/r_{M \rightarrow \text{out}}\) ≈ 40 days on average whether or not it is the one that escalates. Check: \(1/r_{R \rightarrow M} + T_{M \rightarrow D} = 10 + 20.33 = 30.33 = T_{R \rightarrow D}\). ✓ Was \(W_{\text{crisis}}\) here in drafts before 2026m09d08. Not a separate identifier in the companion code.
- r_onset — the onset rate
\(r_{\text{onset}}\) — the onset rate
the composite rate, per year, of transitioning all the way from Risky through MAD to Dead. This is the disaster rate, and the one number here comparable to published estimates of “X percent per year” for nuclear war. Base case 0.0331/yr, that is 3.3 % per year. It is the level the risk settles at once the first months are past — not a rate that applies from day one (section 7.2).
T Smaller root of the characteristic quadratic; the decay rate of the quasi-stationary distribution; the asymptotic hazard. It is an equilibrium rate in every sense that can apply to an absorbing chain. Strictly the chain has no equilibrium, since all probability drains into Dead (only 0.13 % of worlds survive 200 years); what it settles into is the quasi-stationary state — an equilibrium among the survivors, who divide 98.9 % Risky / 1.1 % MAD. But that state has the defining property one would want: started from it, the waiting time is exactly exponential at rate \(r_{\text{onset}}\), with no correction term at any horizon (section 7.5, checked to machine precision). It is not named \(r_{R \rightarrow D}\), because R → D is not a transition of the model: there is no direct arrow, only the composite journey through M. Bounded exactly by \(1/T_{R \rightarrow D} < r_{\text{onset}} < r_{R \rightarrow M}\, p_{M \rightarrow D}\) (section 7.1). Was \(r_{\text{slow}}\) here in drafts before 2026m09d08. Companion code:
r_onset, the first value returned bydecay_rates().- r_relax — the relaxation rate
\(r_{\text{relax}}\) — the relaxation rate
not a disaster rate at all, and not a rival to \(r_{\text{onset}}\). The two are different kinds of quantity: \(r_{\text{onset}}\) is the level the risk settles at; \(r_{\text{relax}}\) is the speed at which it settles there, and its reciprocal, ≈ 40 days, is the relaxation time. Why there is anything to settle: the forecast is made knowing the world is in Risky today and not already in a crisis, so onset cannot happen immediately — a crisis must first arrive and then run its course. The risk therefore starts at exactly zero and climbs to \(r_{\text{onset}}\) within a few months (sections 7.2, 7.4, 7.5). This is what that knowledge is worth: 2.90 % rather than 3.25 % for the coming year (section 7.5).
T Larger root of the same quadratic. Standard usage in kinetics and in Markov-chain theory calls \(1/(r_{\text{relax}} - r_{\text{onset}})\) the relaxation time; here the two differ by 0.37 % (40.43 d against 40.28 d), so the distinction never matters numerically but is stated to keep the identification honest. It is likewise close to, but not equal to, the crisis clock: \(r_{\text{relax}} = 9.067\)/yr against \(r_{M \rightarrow \text{out}} = 9.000\)/yr, larger by 0.74 %, and section 7.1 proves that inequality is strict whenever \(r_{M \rightarrow R} > 0\). Section 7.3 explains why the two exponentials of the closed form are not the two physical stages. Was \(r_{\text{fast}}\) here in drafts before 2026m09d08. Companion code:
r_relax, the second value returned bydecay_rates().- excursions() — the number of MAD crises
\(n_{MAD}\) — the number of MAD crises
the world passes through before one of them reaches Dead — on average 3
T Geometric random variable with success probability \(p_{M \rightarrow D}\). This is the factor that answers the “loop objection” (section 5.5). Was \(n_{\text{tries}}\) here in drafts before 2026m09d08. Companion code:
excursions().- the death fraction
\(q_{\text{dead}}\) — the death fraction
the share of humanity that dies within about two years of onset, from all causes taken together: the blast and fire, and then the famine and supply-chain collapse that follow, which dominate the total. It is not deaths in the strikes alone.
T Not produced by this model. b16 SIA-9 takes it from Xia et al. (2022), whose figures are deaths by the end of year 2: a small regional exchange (~100 warheads, 5 Tg soot) gives about 2 billion (\(q \approx 0.25\)); a full US–Russia exchange (150 Tg) gives over 5 billion (\(q \approx 0.63\)). b16 uses 0.3, which is therefore conservative twice over — it takes the figure for the smallest exchange modelled, and it stops counting at two years while the climate disruption runs for a decade or more. Section 14.2 works through what the two-year horizon does and does not include; the scenario-matched value is 0.63, which would roughly double every multiplier b16 reports.
- the flux of worlds
\(r_{\text{flux}}\) — the flux of worlds
onsets per world-year, 0.0330/yr. This is what a simulation measures directly: run 40 world histories, add up their waiting times, and divide 40 by that total. It is a property of the ensemble, not of any world in it — a single world has exactly one onset, ever, on one date, and never experiences “0.033 onsets per year”. Distinct from \(r_{\text{onset}}\) in kind as well as value (0.0331/yr, 0.36 % apart): \(r_{\text{onset}}\) is a hazard — instantaneous, conditional on having survived so far — whereas \(r_{\text{flux}}\) is an unconditional average over the whole run. Quote \(r_{\text{onset}}\) against published “X percent per year” figures; quote \(r_{\text{flux}}\) when reporting what an ensemble of runs produced.
T Michaelis–Menten reaction velocity \(v\) (9. Michaelis–Menten, derived rather than asserted), which is the same quantity read as a turnover: an enzyme processes substrate repeatedly, so for enzymes the flux is what one actually observes, and the ensemble is the molecules in the tube. Here the “tube” is a hypothetical population of worlds — which is exactly why the enzymology symbol \(v\) is kept only inside section 9, where that reading is being made on purpose.
- r_all — the sum of every rate in the model
\(r_{\text{all}}\) — the sum of every rate in the model
\(r_{R \rightarrow M} + r_{M \rightarrow R} + r_{M \rightarrow D}\) = 9.1/yr. It is a rate like any other and is written as one, rather than as a bare Greek abbreviation, so that an equation containing it can be looked up here. It grows automatically if the model grows: a Risky → LifeMAP escape arrow would enter this sum too.
T Minus the trace of the transient generator. Appears in both Vieta relations: \(r_{\text{onset}} + r_{\text{relax}} = r_{\text{all}}\), which is the quickest check that the two roots were solved correctly. Was \(\Sigma\) here in drafts before 2026m09d08. Companion code: the local
totalinsidedecay_rates(), andr_allincrosschecks.py.- the density
\(p_{\text{winter}}(t)\) — the density
how much of the probability of onset falls in each year. Not a probability itself: it has units of 1/yr, and only its area over a stretch of years is a probability. It appears once, as the numerator of the hazard in section 7.2.
T Probability density function of the waiting time. Lower case on purpose: \(P(\cdot)\) in these same equations is a probability, and a density is not one — the case carries the type. Named for the event rather than the arrow (
winter, not \(T_{R \rightarrow D}\)) because a nested arrow subscript is unreadable at this size, and because accidental nuclear winter is what the whole paper is about.- the discriminant
\(\Delta\) — the discriminant
the quantity under the square root when the two rates are solved for. Its only job is to show that the two rates are always real numbers rather than an oscillation, for any positive rates whatever (section 6.5).
T \(\Delta = r_{\text{all}}^{2} - 4\, r_{R \rightarrow M}\, r_{M \rightarrow D}\). Renamed from \(D\) in round four, because \(D\) is the state Dead in the arrow scheme and the two would otherwise appear in the same equations.
- the two clocks
\(C_{M \rightarrow R}\), \(C_{M \rightarrow D}\) — the two clocks
a local proof device, used once and not needed afterwards. Picture each arrow as carrying its own alarm clock set to a random time; the MAD crisis ends when the first clock rings, and which clock rings decides whether the world walks back to Risky or arrives at Dead. Listed here so that a reader who meets these symbols in section 4 is not left wondering why they were introduced at all.
T Independent exponential random variables with rates \(r_{M \rightarrow R}\) and \(r_{M \rightarrow D}\). Conventionally written \(X\) in probability texts, where the letter carries no meaning; the clock reading is the same mathematics with an interpretation attached. Was \(C_\mu, C_\kappa\) here in drafts before 2026m09d08. A proof device only; it has no counterpart in the companion code.
6. Side by side#
V0 today |
V1 entries |
V2 index+entries |
V3 one table |
V4 factored |
V5 glossary |
|
|---|---|---|---|---|---|---|
Pages in this PDF |
9 |
4 |
6 |
4 |
6 |
4 |
Scan all 16 |
poor |
impossible |
one page |
poor |
one page |
by alphabet only |
Read one entry |
26-char column |
full width |
full width |
full width |
full width |
full width |
Look up from page 12 |
flip back |
flip back |
flip back |
flip back |
flip back |
hover / ``:term:`` |
PDF risk |
tall rows, hyphenation |
none |
low |
silent drop |
low |
none |
HTML at 720 px |
5 columns is too many |
fine |
fine |
wide rows scroll |
fine |
fine |
Editing by hand |
awkward |
easy |
index is aligned |
script-only |
index is aligned |
easy |
Changes the content? |
— |
no |
no |
no |
yes, needs approval |
no |
What Claude would choose, offered not to be believed but to be checked.
V4 for the paper, with V5’s glossary machinery underneath it, and the fold on for the website and off for print. V4’s index answers “show me all sixteen”, its entries answer “explain this one”, and its three content decisions fix a real defect rather than hiding it behind a nicer table. V5 costs nothing extra in print and buys the hover lookup in HTML, which is where most readers will meet these symbols.
If the three content decisions are judged to over-reach, take V2 — identical containers, no content change, available today.
V1 is right if a reviewer says the index duplicates the paper’s own arrow scheme, which is a fair thing to say: the scheme is designed so that the symbol tells you what it means, and an index of self-explaining symbols is arguably redundant.
V3 is the one to avoid. It is the most compact in print and it keeps the word “table”, but it buys that with a file only a script can edit, which fails silently when it breaks. A nomenclature table that can vanish from the PDF without a warning is a bad trade at any page count. It is listed here because it is the option that looks most attractive before it is tested.