CThe tropical limit forgets how many

Generated arithmetics with generator e^(-beta x) become min-plus (tropical) arithmetic as beta grows: the transported sum -log(e^(-beta a) + e^(-beta b))/beta tends to min(a, b). (With e^(+beta x) the limit is max-plus instead; the partition function below uses e^(-beta E), so lower energy wins.) Min-plus keeps the lowest energy and throws away how many ways there are to reach it. Two matching problems with the same minimum look identical to it, even when one has twice as many minimum-energy solutions.

At any finite beta the count is still there, as log m, and an exact certificate says how close you are.

instance A on K_{3,3}

011
101
110

instance B on K_{3,3}

001
001
110

Energy of a perfect matching = sum of its three weights. Spectra, by enumerating all 3! = 6 matchings in your browser:

A { 0: 1, 2: 3, 3: 2 }

B { 0: 2, 2: 4 }

(min,+) reading of both: optimum 0 and 0. Equal.

B: two minimum-energy matchingsA: one minimum-energy matchinggap 0.67090246810log 1log 2log 6betalog Z_beta + beta E_min
Shaded: the certified band [log m, log m + cert]. The curves stay inside it at every beta and separate by log 2 as beta grows.
A: f(beta)
0.058178735
A: certificate width
0.0876245
A: floor(Z e^{beta E_min}) = m + floor(S)
1 = m
B: f(beta)
0.72912348
B: certificate width (tight: two levels)
0.0359763
B: floor(Z e^{beta E_min}) = m + floor(S)
2 = m

The precise statement

Finite set of N configurations with energies E, minimum E_min reached m times, gap Delta to the next level, Z_beta = sum exp(-beta E). For every beta > 0, 0 <= log Z_beta + beta E_min - log m <= log(1 + (N - m) e^(-beta Delta) / m), with equality on the right exactly when every configuration above E_min sits at E_min + Delta.

Hence log Z_beta + beta E_min -> log m, and m = floor(Z_beta e^(beta E_min)) once (N - m) e^(-beta Delta) < 1. The demo computes that floor as m + floor(S), S the excited-state weight, because floor(exp(f)) can round down to m - 1 in float64. The map (sum_E c_E x^E) -> (lowest exponent, its coefficient) is a semiring homomorphism onto (min,+) x (count).

Where it breaks

Drop m and the limit is wrong: at beta = 40 the two K_(3,3) instances above differ by 0.69314718056, which is log 2, although (min,+) calls them equal. Drop the (N - m) factor and the certificate fails (X2 control KB2 on K_(4,4)).

Finiteness is essential: for continuous configuration spaces the next term is a Laplace prefactor, not log m, and there is no gap. The certificate is useless once N grows exponentially at fixed beta, and counting m is #P-hard in general (the permanent). None of this is an approximate-counting algorithm.

Prior art and sources

Classical results it reduces to

  • Residual (zero-temperature) entropy
  • Maslov dequantization
  • Semirings with multiplicities
  • Ryser 1963; Kasteleyn and Temperley-Fisher 1961; Valiant 1979

NNC anchors

  • Pseudo-Linear Scale-Space Theory (florack_1999_pseudolinear)
  • Unifying Aspects of Generalized Calculus (czachor_2020_unifying_generalized_calculus)

OpenAI families named (context only)

  • Approximate counting and entropy of perfect matchings (family 113)
  • A cubic permanent-determinant lower bound (family 108)

Model-written and unreviewed. No result on this page depends on one.

Write-up and checks: docs/research/nnc-openai-crossanalysis-2026-10/X2/FINDINGS.md. Every number on this page is computed in your browser by lib/crossovers/, tested against independent closed forms in lib/crossovers.test.ts.