# Tire D-Reducibility Analysis

This note records the first computational pass at applying the
Heesch/Appel-Haken idea of D-reducibility to tire dual connectors.
The executable experiment is
`../experiments/tire_d_reducibility.py`.

## Model

The test is on the Tait edge-coloring side, consistent with the
existing fiber notes:

- A tire connector has boundary state
  `sigma in {1,2,3}^n`, where `n = m + k`.
- A state is **good** if it extends to a proper edge 3-coloring of the
  tire dual connector.
- A state is **bad** if it is parity-feasible for an outside cubic
  graph but not good.
- The D-style consistency prune starts with all bad states and deletes
  a bad state whenever some color pair has no noncrossing perfect
  pairing of its boundary positions whose elementary Kempe swaps all
  remain inside the bad set.

Thus the conclusion is an edge-boundary analogue of classical
D-reducibility:

- `D = yes`: no nonempty consistent bad set survives.
- `D = no`: a consistent bad set survives, so this tire is not
  D-reducible in this model.

This is deliberately not stated as a classical primal-side
configuration certificate.  The boundary object here is a sequence of
Tait spoke colors, not a 4-colored vertex ring.

## Commands Run

Small Steiner-poor sweep:

```bash
python3 papers/coloring_nested_tire_dual_graphs/experiments/tire_d_reducibility.py --m-max 6 --k-max 6
```

Small Steiner-rich / spoke-only sweep:

```bash
python3 papers/coloring_nested_tire_dual_graphs/experiments/tire_d_reducibility.py --model SR --m-max 6 --k-max 6
```

Targeted strict-Latin-style obstruction:

```bash
python3 papers/coloring_nested_tire_dual_graphs/experiments/tire_d_reducibility.py --m 3 --k 6 --chords 0-3 --show-survivors
```

Targeted `m = k = 6` comparison:

```bash
python3 papers/coloring_nested_tire_dual_graphs/experiments/tire_d_reducibility.py --m 6 --k 6 --model both --chords 0-3 --show-survivors
```

## Findings

For `3 <= m,k <= 6`, every checked tire is non-D in this model.

- Steiner-poor sweep: 204 tire types checked, 0 D-reducible.
- Steiner-rich sweep: 16 spoke-only tire types checked, 0 D-reducible.
- In all checked cases, the maximal consistent bad set equals the
  initial bad set.  In other words, the D-prune does not rescue any
  bad boundary states.

Representative outputs:

```text
m k n model chords universe good bad survivors A D
3 3 6 SP    none        183   24 159       159 N N
3 3 6 SR    none        183   63 120       120 N N
3 6 9 SP    03         4920   24 4896      4896 N N
6 6 12 SR   none     132861 4095 128766  128766 N N
```

The `m=3, k=6, chord=(0,3)` case is especially severe: only 24
parity-feasible boundary states are good, while 4896 are bad and all
4896 survive the D-consistency check.

## Interpretation

The tire connector supports are much too sparse for single-connector
D-reducibility to be the right tool.  In the checked range, a tire
does not behave like Birkhoff's diamond, where every bad ring coloring
can be Kempe-moved to a good one.  Instead, the bad set is itself
Kempe-consistent under the edge-boundary abstraction.

This supports the strategic conclusion from
`birkhoff_heesch_reducibility.tex`: classical D-reducibility is useful
as vocabulary and as a finite verification framework, but the tire
program probably needs a compositional support-overlap or transfer
argument across adjacent/nested tires rather than single-tire
D-reducibility.

## Next Checks

The natural follow-up is not to keep searching for D-reducible
individual tires, but to test stronger compositional statements:

- classify when adjacent tire supports on a shared cycle intersect;
- run the D-consistency prune on composed two-tire or three-tire
  connectors;
- compare the edge-boundary result against a primal-side free
  completion for the same small tire patches.
