Counterexample CE-D-UNMERGED-DUPLICATES-001
What it falsifies
One-point exchange stability implies strict self-consistent nearest-centroid assignment even when coincident positive-weight score atoms may be assigned to different cells.
This is the fixture behind D-UNMERGED-DUPLICATES-FAIL: a one-dimensional example with three singleton cells and two rows equidistant from their competing centres, which is vacuously exchange-stable while strict nearest-centre assignment and deterministic label reproduction both fail. The solver refuses a terminal state whose own Mahalanobis rule would relabel a row by more than the gain tolerance, citing this fixture; the same code appears if a compile attempt hits the same condition.
- Cell 0
- Cell 1
- Cell 2
| Atom | Weight | Score 1 | Cell before |
|---|---|---|---|
| 1 | 1/4 | 1 | 0 |
| 2 | 1/4 | 1 | 1 |
| 3 | 1/2 | -1 | 2 |
Objective
The criterion value at each labelling, exactly as the fixture certifies it.
| Labelling | Objective |
|---|---|
| Labels before | log(1)=0 |
How it was verified
Method: exact_formula.
All three cells are singletons, so the labeling is vacuously one-point exchange stable under the nonempty-cell rule. Information is positive definite in d=1, but split duplicate atoms prevent strict assignment and deterministic score-only reproduction. Merging the two score-1 rows removes the degeneracy.
Claims that cite it
- Publication-grade audit of the D exchange theoremAUDIT-D-EXCHANGE-VORONOI
- Finite D exchange stability implies strict self-consistent VoronoiD-EXCHANGE-IMPLIES-VORONOI
- Exact finite inductive closure / compilerD-FINITE-INDUCTIVE-CLOSURE
- Split duplicate atoms defeat strict D-Voronoi closureD-UNMERGED-DUPLICATES-FAIL
What the library refuses
- Trigger
The terminal rule would relabel a training row by more than the gain tolerance
- Reason
split duplicate atoms can be vacuously stable while defeating label reproduction
- Remedy
Merge or consistently label coincident score rows; inspect
geometry.maximum_violation_gain
Recorded 26 August 2026. The fixture as JSON.