⚜ PRINCIPIA ORTHOGONA · Book 3 · biology ← Ch 5 · Immune Adaptation · Book 3 contents
Book 3 · the Mini-Beast · biology
BIOLOGY · SYSTEMSMATHEMATICS · APPLIED

A Bucket of Seawater

Viruses, swarms and a fly-brain model that settles in many ways
SourceBioSwarmCheck.lean · verify script
Checked3 theorems, no sorryAx
axiom report
Toolchainlean 4.32.0 · Mathlib v4.32.0 · python 3 + numpy
Textsmy fruit-fly toy model · Suttle · Knowles and Bidle · Korytowski and Smith · Xue and Goldenfeld · Racaniello
A virologist opened a course by saying there are more viruses in a bucket of seawater than people on Earth, and that we swim in it and are fine. This chapter starts there with the arithmetic, then looks at what the viruses in that bucket actually do, as marine virologists have measured and modelled it, and finally runs my own fruit-fly swarm model to see what it really does. It turns out to be richer than my paper said: many stable states, then cycles near the coupling I predicted. The contraction proof I printed could not have worked, and the chapter shows why. The ocean results are cited and tagged as cited; every number I computed myself comes from ch-a-bucket-of-seawater-verify.py before it is printed.
1 · A bucket of seawater

More viruses than people

In 2020, as Columbia finished taping its introductory virology lectures, the pandemic arrived and the course went up on YouTube. I took the course there. As I recall the opening, the lecturer, Vincent Racaniello, said he had always been fascinated by viruses, talked about the microbes we carry and depend on, and said there are more viruses in a bucket of ocean water than people on Earth. We swim in it and we are fine, so they are not all bad. MODEL

The arithmetic holds with room to spare. Suttle's 2007 review says millions of virus-like particles are present in every millilitre of ocean water, and I use 107 per millilitre as a round figure at the upper end of that range. A 10-litre bucket is 104 millilitres, so it holds about 1011 viruses, 12.5 times the 8 billion people the world passed in 2022. At 106 per millilitre, the low end of “millions”, it holds 1010, still 1.25 times the population, so the claim does not depend on which figure is right. Most of those viruses infect bacteria and algae, not people. COMPUTED

From the classroom

I have taught since 2000, and I tell my students that some people are fascinated by this topic. Students who are repulsed at first soon realise that viruses are all over them. On the board goes a rule that follows from both facts: be wise, sanitize. Most viruses are harmless, and the few that are not are a good reason to wash your hands.

2 · What the viruses in the bucket do

Killers, switches and a threshold

The bucket is not inert. Suttle's 2007 review puts viruses at about fifteen times the number of prokaryotes in the sea and estimates that, in surface waters, viral lysis removes 20–40% of the prokaryote standing stock each day, roughly as much as grazing does, with wide error bars on both. In a few well-studied cases, Emiliania huxleyi, Phaeocystis globosa and Heterosigma akashiwo, viral infection is reported to have led to the collapse of an algal bloom; the review says the effect in most other cases is more subtle. CITED

What sets the lysis off is less settled than the arithmetic. For the cyanobacterium Synechococcus, Suttle reports that virus counts rise sharply once host numbers pass about 103 per millilitre, yet resistant cells persist at high numbers: a density threshold, and not a clean one. For E. huxleyi, a 2020 study by Knowles, Bidle and colleagues reports something different. At realistic host densities the viruses stayed non-lethal for long periods in healthy hosts, and lysis followed the hosts' physiological stress rather than their density: a quiet phase while the bloom forms, then a lytic phase once the hosts are stressed. That is one study of one system, and its authors do not give a formal threshold model or call the system bistable. CITED

The standard picture of who gets killed is Kill-the-Winner: a virus spreads fastest through whichever host is most abundant, which stops any one host taking over. Suttle calls it probably true during the onset of blooms, with resistance able to mask it. Two mathematical versions are worth reading. Korytowski and Smith prove, for a Lotka–Volterra food web of bacteria, their viruses and a grazer, that a positive equilibrium exists under conditions on the growth rates, is locally stable, and that all the populations persist; they report no bifurcation analysis and no jump or hysteresis. Xue and Goldenfeld show that the deterministic coexistence state is stable, that demographic noise then knocks strains out one after another, and that coevolution restores diversity. Neither reports a critical value at which the system flips. CITED

The threshold m = 1 in the going-viral passage below is the simplest form of the idea that a virus needs enough hosts to spread. The ocean shows that the control is not always host number: for Synechococcus it looks like host density, and for E. huxleyi, in that one study, it is host stress. Nothing I read reports the sudden jump, with a different path back, that would mark a fold bifurcation. So the ocean viruses are a test of the operator chain that is still to be run, not a confirmation of it. OPEN

3 · A swarm in a fly's brain

The toy model

My paper Biological Transitions as Multi-Agent Realisations of the Generative Operator Pipeline (V2, May 2026) took its motivation from the FlyWire connectome of the adult fruit-fly brain, about 140,000 neurons. It abstracts the brain to N clusters, each a point (x, y) in the plane, each coupled to its neighbour in a ring with strength α. One step applies G = U∘F∘K∘C: C keeps the larger coordinate and zeroes the other, K adds a bias b = 0.1 away from zero and clips to [−1, 1], F mixes in the neighbour, (1 − α)s + αn, and U rescales the result to length 1. In it I claimed that the swarm contracts to a unique fixed point for |α| < 1/2, with Lipschitz constant L(α) = 1/2 + |α|, and that a pitchfork bifurcation, a stress switch like the HPA axis, happens at α = 1/2. CITED

4 · What the model does

Many stable states, then cycles

The script runs my own code, without the added noise, for 8 clusters, 40 random starts and 400 steps at each coupling, and records how many different end states the 40 runs reach and whether each run settles (period 1), repeats a cycle, or does neither: COMPUTED

coupling αdifferent end states (of 40)period of each run (number of runs)
0.0401 (all 40)
0.3401 (all 40)
0.42271 (36), 24 (4)
0.45101 (36), 16 (4)
0.5261 (17), 16 (21), 24 (2)
0.6281 (13), 14 (16), 16 (11)
0.7221 (22), 12 (4), none within 400 steps (14)
0.9161 (28), 9 (1), none within 400 steps (11)

For weak coupling every run settles, and every run settles somewhere different: 40 starts, 40 end states. The model is multistable. It has many stable states, and which one the swarm reaches depends on where it began. The first cycles appear at α = 0.42 (period 24), period-16 cycles follow at 0.45, and for 0.5–0.65 more runs cycle than settle; and from α = 0.7 some runs neither settle nor repeat within 400 steps. So something does change close to the threshold of 1/2 that I gave in the paper. It is not the change I described there (one state splitting into two); it is a move from many resting states to cycles and irregular motion. Settling is also fast: at α = 0.3 six steps bring each run to within 1.5% of its own end state, far inside the 27% that my paper's bound allowed. COMPUTED

5 · Why the printed proof could not work

A jump, four fixed points and a flat line

C jumps. The points (1, 0.999) and (0.999, 1) are 0.002 apart, but C sends them to (1, 0) and (0, 1), which are 2 apart. At α = 0.3 the whole step G sends them 1.32 apart. A map that jumps has no Lipschitz constant at all, so no value of L(α) can bound it. The kernel proves the jump in C (C_jumps); that the whole step G jumps too is shown by the script at α = 0.3 and is not proved in Lean. In my V2 Lean file, L(α) = 1/2 + |α| is a definition, and the theorems about it (for example L(0.3) = 4/5) are arithmetic about that definition, never connected to G. COMPUTED

Four fixed points where one was promised. At α = 0 the formula gives L = 1/2, a strong contraction, which would force a single fixed point. A single agent has four: (1, 0.1), (−1, 0.1), (0.1, 1) and (0.1, −1), each divided by √1.01. BioSwarmCheck.four_fixed_points proves all four fixed and distinct. That they attract nearby starts is shown by the script (eight starts converge to them), not by the kernel. KERNEL-CHECKED

The bifurcation figure is flat. My paper's figure 4 plots the mean of |s|² after six steps against α. But U rescales every state to length 1, so without noise that quantity is exactly 1 at every coupling (U_norm). The 80 plotted values lie between 0.9989 and 1.0010, a spread of 0.0021 that is only the added noise. The figure could not show a bifurcation, and the real transition in section 4 is invisible in it. KERNEL-CHECKED

My V2 Lean file's three "open obligations" contain no sorry: two conclude True, and the third holds because the swarm step is an identity placeholder. My HPA-axis reference [11] (Bhaskaran et al., J. Theor. Biol. 540, 111077) could not be found: its DOI returned 404 at doi.org, and a title search found nothing. Real models of HPA-axis bistability exist and would replace it. OPEN

6 · Back to the laws of Book XIV

One fixed point or many

Book XIV, chapter 10 ran the Swarm Simulator and found one fixed point, 0, with shared intent dying out like a chain of steps, It = 0.416t. Its multi-orbit claim of distinct fixed points failed. The fly model is the opposite case: the multi-orbit picture holds here, since separate runs end in separate stable states. Put together, the two papers have the ingredients a living swarm needs, which neither has alone. MODEL

Going viral. In everyday speech things "go viral", and that can be good or bad: a kind idea spreads the same way a rumour does. The swarm model has the arithmetic in its type-propagation step, Mt+1 = m·Mt. If each carrier passes a type on to fewer than one new carrier (m < 1) it fades: with the Swarm Simulator's default m = 0.231 it falls to 4.3 × 10−7 of its size in ten steps. If m is even a little above 1 it grows: at m = 1.1 it is 2.59 times larger after ten steps. Epidemiology calls the same threshold the reproduction number. Whether a given idea or virus has m above 1 is a question for data, and the model does not answer it. COMPUTED

The same chapter's parallel law, 1 − (1 − q)n, ends with a ceiling: if a share of errors is invisible to every checker, adding checkers never catches them. An immune repertoire that shares a blind spot is the same shape, which is one reason a new variant can pass many defences at once. That is an analogy, not a result, and it would need real immune data to test. MODEL

Computer viruses and the Trojan horse. In computing the word is almost always bad. A computer virus is a program that copies itself into other programs, the same multiply-and-spread step as Mt+1 = m·Mt with m above 1. A Trojan horse is named after the wooden horse of the Troy story: a gift the city pulled inside its own walls, with soldiers hidden in it. The program looks useful, so people install it themselves, and it carries something harmful inside. In the language of the parallel law it is built to sit in the shared blind spot: every checker that judges by the outside says yes, so adding more of the same kind of checker does not help. The defence is a different kind of check, one that looks inside. It is the same reason this series runs a script and a proof, not only a reading, before a claim is printed. MODEL

What is not hereThe lecture is my recollection; no transcript is held. The 107 per millilitre is my round figure, not a quotation from Suttle. The ocean results in section 2 are as reported by their sources, not computed here: the 2007 Suttle review and the Knowles–Bidle paper were read through text extractions of hosted copies on 2026-11-06, and the two Kill-the-Winner papers through summaries of their arXiv texts, so I have not checked their equations or figures myself and none is held as a file. The attractor counts are measurements of this toy model with N = 8, 40 starts and 400 steps, not of any fly, and no FlyWire data is fitted. BioSwarmCheck.lean was compiled in the cloud against Lean 4.32.0 / Mathlib v4.32.0 and should be audited on the Mac; its sign convention sgn(0) = +1 matches the code's sign(s + 1e-12) except on (−10−12, 0). Why the transition happens near α = 0.42, and whether it is a bifurcation in the usual sense, is not proved. A corrected version 3 of the paper, with this scan and the Lean file, is prepared in papers/multi-orbit-bioswarm/v3/ under the reserved DOI 10.5281/zenodo.23029951. OPEN
Sources
  1. P. Nogueira Grossi, Biological Transitions as Multi-Agent Realisations of the Generative Operator Pipeline in TO/TOGT: A Fruit-Fly Connectome Toy Model, V2, Zenodo 10.5281/zenodo.20128568 (concept 10.5281/zenodo.19210136). Paper, code, data and Lean held in papers/multi-orbit-bioswarm/.
  2. C. A. Suttle, Viruses in the sea, Nature 437 (2005) 356–361; Marine viruses — major players in the global ecosystem, Nature Reviews Microbiology 5 (2007) 801–812. The 2007 review was read through a text extraction of a hosted copy (uni-due.de) on 2026-11-06; the 2005 paper is not held (WANTED).
  3. B. Knowles, …, K. D. Bidle, Temperate infection in a virus–host system previously known for virulent dynamics, Nature Communications 11, 4626 (2020). Author list truncated in the copy I read; abstract-level reading, full text not held.
  4. D. A. Korytowski and H. L. Smith, Permanence and Stability of a Kill the Winner Model in Marine Ecology, arXiv:1605.01017 (version dated 16 October 2018). Not held.
  5. C. Xue and N. Goldenfeld, Coevolution Maintains Diversity in the Stochastic “Kill the Winner” Model, arXiv:1706.02666 (2017). Not held.
  6. V. Racaniello, Virology lectures, Columbia University, 2020 (YouTube), as I recall it. Transcript not held (WANTED).
  7. S. Dorkenwald et al. (FlyWire), Neuronal wiring diagram of an adult brain, Nature 634 (2024) 124–138, as cited in the paper. Not held.