The Chemistry
Twenty digital atoms: fifteen role-atoms that live in the grid below, and five backbone atoms that deliberately do not. Every number on this page was authored by us, and every number is shown.
This is not physical chemistry. It is an artificial chemistry, which is an established line of work in artificial life rather than a metaphor we are borrowing. An artificial chemistry is usually given as a triple: a set of possible molecules, a set of reaction rules, and an algorithm deciding how the rules get applied. This page specifies the first of those three and part of the second. The reaction grammar and the reactor algorithm do not exist yet, and until they do there is an alphabet here but not yet a chemistry. What follows is laid out so that where an atom sits determines what it is, which means the design can be argued with instead of taken on trust.
How to read the table
Two axes, and each one is doing a job.
Columns are jobs. Each column is a role an atom plays for its neighbours. The column is also a hypothesis about interchangeability: the compression machinery only ever proposes swapping an atom for another in the same column, because a spacer standing in for another spacer is plausible and a donor standing in for an acceptor is not, since it would reverse the direction of a reaction.
Rows are reactivity, rising downward. Nothing is exactly interchangeable with anything else, which is deliberate: a chemistry with exact duplicates would hand the compression machinery a free answer.
We expect row distance to be the leakage axis, so that two atoms one row apart are good candidates to stand in for each other while two atoms three rows apart are not. That expectation is not paid for by anything above it. As currently specified, reactivity sets cost and nothing else, which makes it a price coordinate wearing a reactivity label. So it is written down here as a claim that can fail rather than as a property of the design: substitution error should increase with row distance. If a run shows it does not, the row axis is wrong and the table needs rebuilding.
Cost is derived, not chosen per atom. Cost is a function of reactivity, with a base and a slope set once per column. So an atom's price follows from where it sits.
| Inertspacer / filler | Bindingrecognition, interface | Catalyticlowers a neighbour's cost | Acceptorcompletes a reaction | Donordrives a reaction | |
|---|---|---|---|---|---|
| r1react 0.1 | s1valence 1cost 0.14polarity +0.0 | reserved | reserved | reserved | reserved |
| r2react 0.25 | s2valence 1cost 0.2polarity +0.0 | b1valence 2cost 0.9polarity +0.3 | reserved | reserved | reserved |
| r3react 0.4 | s3valence 1cost 0.26polarity -0.1 | b2valence 2cost 1.08polarity -0.3 | k1valence 2cost 2.0polarity +0.2 | a1valence 1cost 1.06polarity -0.4 | reserved |
| r4react 0.55 | s4valence 1cost 0.32polarity +0.1 | b3valence 2cost 1.26polarity +0.6 | k2valence 2cost 2.3polarity -0.2 | a2valence 1cost 1.27polarity -0.6 | d1valence 1cost 1.48polarity +0.4 |
| r5react 0.7 | reserved | reserved | reserved | a3valence 1cost 1.48polarity -0.8 | d2valence 1cost 1.72polarity +0.6 |
| r6react 0.85 | reserved | reserved | reserved | reserved | d3valence 1cost 1.96polarity +0.8 |
Fifteen atoms in thirty cells. The empty cells are not gaps in the design, they are room: a new atom can be added by filling a reserved cell, and nothing already placed has to move or be renumbered.
The rules that produce those numbers
There are three of them and they are the whole derivation. Valence is set per column; reactivity is set by row; cost follows from reactivity.
reactivity(row) = 0.10 + 0.15 x (row - 1)
cost(col, row) = base[col] + slope[col] x reactivity(row)
valence(col) = 1 for Inert, Acceptor, Donor
2 for Binding and Catalytic
base slope valence
Inert 0.10 0.4 1 filler is cheap by design
Binding 0.60 1.2 2 an interface has to be held, so it is paid for
Catalytic 1.20 2.0 2 catalysts are precious, so this column is short
Acceptor 0.50 1.4 1 completing a reaction costs less than driving one
Donor 0.60 1.6 1 driving a reaction is the expensive half
Only two things are set by hand rather than derived: polarity, because it governs which atoms prefer to bond with which and deriving it would make the bonding graph too regular to be interesting, and tags, which mark the two atoms that carry an interface and the two that catalyse.
Why each column earns its place
| Column | Why it exists |
|---|---|
| Inert | Deliberately the tallest column. Interchangeable spacers are where a distinction stops mattering, so this is where there is most to remove. A chemistry with no inert class would have almost nothing to compress. |
| Binding | The interface former. This is the handle for a self-produced boundary, which is the condition every laboratory protocell is currently thought to fail. |
| Catalytic | The seed of self-lowering continuation cost. Short and expensive on purpose. |
| Acceptor and Donor | Two columns rather than one, because the column is a claim about what may be swapped for what. Merging them would have the machinery proposing swaps that reverse a reaction. |
The backbone
Five atoms sit outside the grid, because they do not belong to a job column and are not freely swappable by role. Swapping the scaffold changes everything hanging off it.
| Cvalence 4polarity +0.0connector: chains and rings | Hvalence 1polarity +0.0terminator: caps a bond | Ovalence 2polarity -0.5linker: bridges, adds polarity | Nvalence 3polarity -0.3brancher: branching and charge | Pvalence 2polarity -0.2carries a consumable resource token |
If the backbone ever starts forming interchangeable groups in a run, the tolerance has been set too loose. That is a deliberate control.
What can bond with what
Two gates, and no more. An atom carries a valence, which is how many bonds it can hold at once, and a polarity, which is a signed preference. Opposite polarities attract, like polarities resist, and neither can exceed its valence budget. Those two numbers are the entire bonding grammar; a molecule is whatever falls out of applying them.
Next: What's Inside of a Cell?, which is what you would build out of this alphabet.
← Back to A-Life