Case 1: pure chemistry

All that matters is molecular species. Generate a multiway graph of possible reactions. Then use path counting etc. to find “concentrations”

Case 2: subchemistry

Account for individual molecules. E.g. there might be a trillion of some type of molecules. Each individual molecule is tracked in subchemistry. [ Molecular dynamics ]
E.g. everything is on a grid. Molecules move
As soon as we have many molecular types, we can make a causal graph
Note: in general the interactions could have many outcomes, i.e. a multiway graph. [This is what we need for stochastic / quantum stuff]

Modeling chemical species / reactions

Strings [ or trees or graphs ]

Typically we have local substitutions on the strings
We can have multiway-ness either because of different places to hit the strings, or multiple outcomes from a given rule

Strings + space

Strings + space + background configuration

Spatialization

[E.g. Chemistry-01 ]
Simplest case: block cellular automaton (1D, 2D, ...)
Out[]=

,

This sequence is like going from gas to liquid
Out[]=
,
,
,
Rules don’t have to be reversible in chemistry...
Look at 2D case as well....
[[ Given strings we effectively have an unbounded number of species ... ]]