MolFoundry · observable analysis

ABA on a growing path

From one ABA query to the counts and events describing its dynamics.

1 · Rules & state space

One growing A/B path, free A/B tokens and constant-rate feeds. An append consumes one free token at the unique path end.

Append-A graph rule with abbreviated labels: left, interface, right
Append A · left | interface | right. P = position, N = next-link node, T = terminal-link node, E = end marker, A/B = letter, FA/FB = constant-rate feeds. The rule consumes one free A token and attaches it at the path end. Equal vertex numbers mark preserved vertices.
Directed links use the edge labels src (source) and tgt (target); kind connects a position to its letter.

One rule application

ABABE
Before · free A: 2, B: 1
→
ABABAE
After · free A: 1, B: 1

The highlighted ABA count increases from 1 to 2. There are 2 admissible A-token choices, giving rate 2 k_A.

Coordinates and graph matches

Coordinate order: C_ABA, M_A, M_B, S_AB, S_A

Before: [1, 2, 1, 1, 0]
After: [2, 1, 1, 0, 1]
Jump: [1, -1, 0, -1, 1]

Input graph Result graph

Explore the state space

Edges are literal rule applications; ×n is their match multiplicity. States at the depth boundary are not expanded. Hover an edge for its rule and rate; click a state for its full graph.

feed_A: 1 matches, rate 1 beta_Afeed_A ×1feed_B: 1 matches, rate 1 beta_Bfeed_B ×1insert_A: 2 matches, rate 2 k_Ainsert_A ×2insert_B: 1 matches, rate 1 k_Binsert_B ×1ABABEState 0Free A: 2 · B: 1ABABEState 1Free A: 3 · B: 1ABABEState 2Free A: 2 · B: 2ABABAEState 3Free A: 1 · B: 1ABABBEState 4Free A: 2 · B: 0

2 · Inputs & semantics

Input rules and graph encoding

P vertices carry A or B tags. N and T vertices encode directed links. Drawings and MolFoundry links use these abbreviations; Python inputs retain the full labels.

The query counts consecutive ABA occurrences, including overlaps.

Query graphActual ABA query graphView query in MolFoundry

3 · Observable discovery

5 counts · 8 events

An exact finite event model is obtained. The linear expectation search remains unfinished at 24 functions.

  • M_A — free tokens A
  • M_B — free tokens B
  • S_AB — path ends in AB
  • S_A — path ends in A
Follow the discovery of S_AB

Composing the query with append A and reducing the signed contributions gives M_A*S_AB. The terminal AB pattern supplies the factor S_AB; free tokens and this pattern have disjoint images.

CoefficientGraphReduced count
1View compositeM_A*S_AB

Discovered pattern

4 · pJC

The query image is L C_ABA = M_A*S_AB*k_A. Algorithm 1 searches expectation closure directly from the rules; Algorithm 2 independently constructs the events below.

All events and the EMGF operator

All 8 derived EMGF event classes

δ is the coordinate jump; ae is its activity.

Event classRule / rateComputed δ Activity aeexp(λ·δ) − 1
feed_A-support-0feed_A
beta_A
ΔM_A=+11exp(lambda_M_A) - 1
feed_B-support-1feed_B
beta_B
ΔM_B=+11exp(lambda_M_B) - 1
insert_A-support-2insert_A
k_A
ΔM_A=-1, ΔS_A=+1M_A - M_A*S_A - M_A*S_ABexp(-lambda_M_A + lambda_S_A) - 1
insert_A-support-3insert_A
k_A
ΔC_ABA=+1, ΔM_A=-1, ΔS_AB=-1, ΔS_A=+1M_A*S_ABexp(lambda_C_ABA - lambda_M_A - lambda_S_AB + lambda_S_A) - 1
insert_A-support-4insert_A
k_A
ΔM_A=-1M_A*S_Aexp(-lambda_M_A) - 1
insert_B-support-5insert_B
k_B
ΔM_B=-1M_B - M_B*S_A - M_B*S_ABexp(-lambda_M_B) - 1
insert_B-support-6insert_B
k_B
ΔM_B=-1, ΔS_AB=-1M_B*S_ABexp(-lambda_M_B - lambda_S_AB) - 1
insert_B-support-7insert_B
k_B
ΔM_B=-1, ΔS_AB=+1, ΔS_A=-1M_B*S_Aexp(-lambda_M_B + lambda_S_AB - lambda_S_A) - 1

5 · Initial states

Initial path ABAB, pools A=2 and B=1. Feeds remain active.

6 · Dynamics

Expectation
Variance

━━ FSP ┄┄ SSA estimate

Parameters and numerical bounds

β_A=2, β_B=1.5, k_A=0.9. The paper uses these gated rates with k_B=0.01 over time 0–20. Both numerical methods consume the generated events.

The bounds concern FSP truncation; floating-point error is separate. These settings are computed during the build. Use the notebook to run other rates or queries.

Atom-resolved ring-opening polymerization

A is δ-valerolactone, B is ε-caprolactone. For the ungated model, direct molecular composition yields the same eight joint events for a benzyl-initiated unbranched chain. The molecular counting argument assumes this constructor family.

ABAB polyester with actual ABA matches highlighted
ABAB · one ABA occurrence
ABABA polyester with both overlapping ABA matches highlighted
ABABA · two overlapping occurrences

Atom-resolved insertion rule · Molecular notebook