# Michael addition

## Status

specified-next: primitive moves are explicit; executable guarded v2 rules are pending.

## Scope

- substrate: Enolate or soft nucleophile plus alpha,beta-unsaturated carbonyl.
- product: Conjugate-addition enolate product followed by protonation.
- note: Specified as a guarded primitive HEG mechanism. It is especially useful because it has a real alternative: direct 1,2-carbonyl addition.

## 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.

### Michael substrate HEG sketch

![Michael substrate HEG sketch](heg_states/michael_start.png)

Hydroxide-like nucleophile plus alpha,beta-unsaturated aldehyde.

### Michael 1,4 route step 1

![Michael 1,4 route step 1](heg_states/michael_14_step1_nu_attack.png)

Primitive snapshot: nucleophile lone pair has become a Nu-C_beta shared pair.

### Michael 1,4 route step 2

![Michael 1,4 route step 2](heg_states/michael_14_step2_pi_shift.png)

Primitive snapshot: alkene pi resource has shifted toward the carbonyl carbon.

### Michael 1,4 route enolate

![Michael 1,4 route enolate](heg_states/michael_14_enolate.png)

Conjugate-addition enolate: carbonyl oxygen carries the anionic lone-pair resource.

### Michael 1,2 route step 1

![Michael 1,2 route step 1](heg_states/michael_12_step1_carbonyl_attack.png)

Competing primitive snapshot: nucleophile attacks the carbonyl carbon instead of C_beta.

### Michael 1,2 route alkoxide

![Michael 1,2 route alkoxide](heg_states/michael_12_competitor.png)

Competing carbonyl-addition state after carbonyl pi resource moves to oxygen.

## 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.

### Michael 1,4 route step 1

Michael substrate HEG sketch -> Michael 1,4 route step 1

Changed ownership: `h4: a1 -> a3`

| L | K | R |
|---|---|---|
| ![L](heg_steps/michael_14_step1_left.png) | ![K](heg_steps/michael_14_step1_interface.png) | ![R](heg_steps/michael_14_step1_right.png) |

### Michael 1,4 route step 2

Michael 1,4 route step 1 -> Michael 1,4 route step 2

Changed ownership: `h9: a3 -> a8`

| L | K | R |
|---|---|---|
| ![L](heg_steps/michael_14_step2_left.png) | ![K](heg_steps/michael_14_step2_interface.png) | ![R](heg_steps/michael_14_step2_right.png) |

### Michael 1,4 route step 3

Michael 1,4 route step 2 -> Michael 1,4 route enolate

Changed ownership: `h21: a8 -> a9`

| L | K | R |
|---|---|---|
| ![L](heg_steps/michael_14_step3_left.png) | ![K](heg_steps/michael_14_step3_interface.png) | ![R](heg_steps/michael_14_step3_right.png) |

### Michael 1,2 competitor route step 1

Michael substrate HEG sketch -> Michael 1,2 route step 1

Changed ownership: `h4: a1 -> a8`

| L | K | R |
|---|---|---|
| ![L](heg_steps/michael_12_step1_left.png) | ![K](heg_steps/michael_12_step1_interface.png) | ![R](heg_steps/michael_12_step1_right.png) |

### Michael 1,2 competitor route step 2

Michael 1,2 route step 1 -> Michael 1,2 route alkoxide

Changed ownership: `h21: a8 -> a9`

| L | K | R |
|---|---|---|
| ![L](heg_steps/michael_12_step2_left.png) | ![K](heg_steps/michael_12_step2_interface.png) | ![R](heg_steps/michael_12_step2_right.png) |

## Reaction Sketch

![Michael addition reaction sketch](reaction_scheme.png)

## Mechanism Flow

![Michael addition mechanism flow](mechanism_flow.png)

## Alternative Route Figure

![Michael addition alternative routes](alternative_routes.png)

## Primitive HEG Patterns Used

| pattern | invariant |
|---|---|
| lone pair to shared pair | Halfedge and pair identity are preserved; exactly one Ownership record changes. |
| shared pair endpoint transfer | Halfedge and pair identity are preserved; exactly one Ownership record changes. |
| shared pair to lone pair | Halfedge and pair identity are preserved; exactly one Ownership record changes. |

## Mechanism Steps

### nucleophile lone pair forms bond to beta carbon

- group: conjugate attack
- primitive: lone pair to shared pair
- resource move: `LP(Nu) -> sigma(Nu,C_beta)`
- roles: donor: Nu; acceptor: C_beta
- guard note: requires conjugated C_alpha=C_beta-C=O acceptor and no existing Nu-C_beta bond
- executable note: -

### alkene pi pair shifts toward alpha carbon

- group: conjugate attack
- primitive: shared pair endpoint transfer
- resource move: `pi(C_alpha,C_beta) -> pi(C_carbonyl,C_alpha) or enolate C_alpha resource`
- roles: moved endpoint: C_beta -> C_carbonyl/C_alpha frame
- guard note: requires conjugated pi system and correct atom ordering
- executable note: -

### carbonyl pi pair becomes oxygen lone pair

- group: enolate formation
- primitive: shared pair to lone pair
- resource move: `pi(C_carbonyl,O) -> LP(O)`
- roles: moved endpoint: C_carbonyl -> O
- guard note: requires carbonyl pi resource
- executable note: -

### enolate is protonated

- group: protonation
- primitive: lone pair to shared pair
- resource move: `LP(enolate atom) -> sigma(enolate atom,H)`
- roles: donor: enolate; acceptor: H
- guard note: requires proton donor and admissible product
- executable note: -

## Guard Checklist

- acceptor must be alpha,beta-unsaturated carbonyl, not an isolated alkene.
- nucleophile must be compatible with conjugate attack.
- 1,2-carbonyl addition should be a separate competing guarded rule, not an accidental match of this rule.

## Alternative Route Probes

- 1,4-Michael addition vs 1,2-carbonyl addition is a genuine alternative route search target.
- Hard/soft nucleophile policy can be encoded as rule availability weights or guards later.

## Expansion

No expansion yet; this is the best next example for meaningful alternatives.

## Interpretation

The chemical rule is treated as a guarded composite of primitive HEG moves. The primitive move tells us what is composable at the electron-resource level; the guards say when that move has the intended chemical meaning.
