Aldol addition
specified-next: primitive mechanism is explicit; guarded v2 executable rule set is not yet promoted.
Interactive Route Player
Use next/prev to step through the route: first the current state is shown without highlight, then the next ownership move is previewed, then the move is executed. If a route snapshot changes several ownership records, the player unfolds them one at a time. Drag a node to fix it; double-click a fixed node to release it.
HEG v2 State Sketches
These panels are rendered from ownership-structured HEG v2 objects. For specified-next examples they are state sketches, not yet products of executable v2 rules.
Aldol substrate HEG sketch
Carbanion/enolate-like donor plus aldehyde carbonyl acceptor.
Aldol route step 1
Primitive snapshot: donor lone-pair resource has become the new C-C shared pair.
Aldol route step 2
Carbonyl pi resource has moved to oxygen, giving the alkoxide state.
Aldol route protonated product
Alkoxide lone pair has become an O-H shared pair in the protonated beta-hydroxy product sketch.
DPO-like Step Panels
Each primitive snapshot is shown as L/K/R. Red marks the ownership edge removed from L, orange marks the halfedge whose owner changes, and green marks the ownership edge created in R. K keeps the common atoms, halfedges, pair objects, and unchanged ownership records. For specified-next examples this is an explanatory span derived from route snapshots, not yet a checked executable rule application.
Aldol addition route step 1
Aldol substrate HEG sketch -> Aldol route step 1
h8: a1 -> a5
L
K
R
Aldol addition route step 2
Aldol route step 1 -> Aldol route step 2
h9: a5 -> a6
L
K
R
Aldol addition route step 3
Aldol route step 2 -> Aldol route protonated product
h16: a6 -> a8
L
K
R
Reaction Sketch
Specified as primitive HEG ownership moves; an older EFG/native-HEG formose aldol rule exists, but this v2 guarded primitive version is a next implementation target.
Mechanism Flow
Primitive Steps
enolate carbon lone pair forms C-C sigma pair
lone pair to shared pair: LP(C_alpha) -> sigma(C_alpha,C_carbonyl)
requires enolate/carbanion resource and no existing C_alpha-C_carbonyl shared pair
acceptor carbonyl pi pair becomes alkoxide lone pair
shared pair to lone pair: pi(C_carbonyl,O) -> LP(O)
requires acceptor C=O carbonyl resource
alkoxide lone pair becomes O-H sigma pair
lone pair to shared pair: LP(O) -> sigma(O,H)
requires proton donor and no existing O-H shared pair
Guards and Alternatives
Guards
- alpha donor must be an enolate/carbanion resource, not any carbon lone pair.
- acceptor must contain a real carbonyl pi resource.
- C-C bond must be absent before attack.
- product admissibility should be checked after each grouped rule.
Route probes
- Self-aldol vs crossed-aldol routes are chemically meaningful alternatives once donor and acceptor carbonyls are distinguishable.
- Unsymmetrical ketones add alpha-position regioselectivity; this requires role guards beyond atom labels.