Types of Graphs Being Generated

Multiway evolution graph

Nodes are states of the system; edges are update events

For strings

(Equivalence testing is trivial here)
[One could imagine non-trivial equivalence where the words are in a group]
[Note: multiple update events between identical states are not indicated as multi-edges yet]
In[]:=
MultiwaySystem[{"AA"->"","BA"->"ABB","BB"->"A"},{"BBA"},5,"EvolutionPlot"]
Out[]=

For hypergraphs

[[ Jonathan says he has code ]]
[ but it depends on C-level modifications to the theorem prover code ]
MultiwaySystem[WolframModel[XXXX],init,t]

Single-evolution-path causal network

In general case, the underlying evolution function would include a path specification; the default is the default evolution path.

For strings

[ in NKS book ]
Could be SubstitutionSystem[rule, init, t, “CausalGraph”]
CausalNetwork[SubstitutionSystem[XXXX],init,t\b]

For hypergraphs

Max version:
In[]:=
WolframModel[{{0,1}}{{0,2},{2,1},{2,1}},{{0,0}},5,"CausalGraph"]
Out[]=
Jonathan version:

Multiway causal network

For strings

For hypergraphs

From Jonathan:
Should be:
MultiwaySystem[WolframModel[rule],init,t,"MultiwayCausalGraph"]

Single-evolution-path evolution + causal network

In this case, there is a single evolution path, with multiple causal connections between events in the evolution

F\bor strings

CausalNetwork[SubstitutionSystem[XXXX],init,t,"EvolutionCausalNetwork"]

For hypergraphs