CV-24: the thermal tier at the cutoff — Gibbs field state, thermal propagator, exact KMS #
Category: CV (continuous variables — the multi-mode field at finite temperature).
Glossary: https://glossary.constraintsurfacedynamics.com/kms-condition/
Plain-language, CSD-role and formal statements of the KMS condition, with
this module as the Lean anchor. Kept symmetric by scripts/check-glossary.sh.
The first join of the two complete verticals: the Thermo track's Gibbs state (TH3,
Thermo/FreeEnergy.lean) instantiated on the CV track's free-field Hamiltonian. Every
temperature statement below is about that state — the object the TH3 variational
principle governs — not a separately posited Boltzmann matrix.
thermalFieldState β—gibbsState (fieldHamiltonian K N) _ β, THE TH3 Gibbs state on the field. BecausefieldHamiltonianis diagonal, the state has a closed form: ★thermalFieldState_eq— the diagonal Boltzmann matrix with weightsexp(-β·E(c)) / fieldPartition, obtained throughcfc_eq_conj_diagonalat the trivial unitary;fieldPartition_eq_partitionFnreconciles the configuration-basis partition function with TH3's eigenvalue form via the trace normalisation.fieldPartition_eq_pow— the partition function factorises over modes,Z_field = z_osc^K, and ★thermalExpect_modeOpis the thermal mode marginal: the thermal expectation of a single-mode observable is its single-mode Gibbs expectation — the thermal analogue ofmodeMarginal_tprod_unit.thermalEvolve z— Heisenberg evolution at complex time, entrywisee^{iz(E_c − E_d)}·A_{cd}; total and well-defined at everyz : ℂbecause the Hamiltonian is diagonal and the dimension finite — no analytic-continuation apparatus.thermalEvolve_real_eq_heisenbergties the real-time slice to the CV chain's own stroboscopic evolutionheisenberg (freeFieldU τ ^ n).★★
thermal_kms— exact KMS at the cutoff, the corpus's first KMS statement:⟨A(t)·B⟩_β = ⟨B·A(t+iβ)⟩_βfor all matricesA, B, allt, β. At finite dimension with a diagonal Hamiltonian the identity is an entrywise exponential shuffle — the weight transportw_c = w_d·e^{-β(E_c−E_d)}— exactly as the Stage-7 feasibility check predicted.thermalTwoPoint β τ n k l— the thermal two-point function of the quadratures,⟨Q_k(n)·Q_l⟩_βunder the free stroboscopic dynamics.thermalTwoPoint_offdiag: modes do not mix thermally (= 0fork ≠ l— the thermal companion of the vacuum propagator'sδ_{kl}). ★thermalTwoPoint_diag— the closed form: a single-mode Boltzmann average of one up-step and one down-step,⟨Q_k(n)Q_k⟩_β = (1/z_osc)·∑_a e^{-β(a+½)}·( (a+1)/2·e^{-inτ}·[a+1<N] + a/2·e^{+inτ} ),with the truncation edge explicit: the top level
a = N−1has no up-step, so the[a+1<N]guard is the same truncation honesty the vacuum four-point's2 < Ncarries.★
thermalTwoPoint_tendsto_vacuum— the vacuum limit: asβ → ∞the thermal propagator converges tofreeTwoPoint— the zero-point energies cancel between numerator and partition function, the reduced weights are geometric, and the ground level dominates. Finite sums only; no dominated convergence.
Honest scope #
The free (mode-diagonal) drive only, matching freeTwoPoint's scope; interacting
corrections are priced by the CV-9/CV-12 ladder and not restated thermally. No continuum
limit (ApproxCCR.no_exact_finite_ccr stands) and no thermodynamic limit in K: every
statement is at the finite cutoff, where it is exact. The relativistic reading is the
same substitution as CV-13 (relFieldHamiltonian, spacing ω(m,p)), recorded not
restated. The β → ∞ vacuum limit is
landed (thermalTwoPoint_tendsto_vacuum), so CV-24 carries no recorded residue.
References #
specs/eft-stage7-plan.md (row CV-24, the feasibility record this executes);
specs/BACKLOG.md (Q21); Thermo/FreeEnergy.lean (gibbsState, gibbsWeight,
partitionFn, gibbsState_trace); Mathlib/QuantumInfo/Subadditivity.lean
(cfc_eq_conj_diagonal); CV/Propagator.lean (freeTwoPoint, the walk-collapse
idiom, diag_entry_mul_of_disjointSupport); CV/DynamicalLocality.lean
(heisenberg, heisenberg_phaseDiagU_apply); CV/FreeFieldFloquet.lean
(phaseDiagU, freeFieldU); CV/InteractionPrice.lean
(fieldHamiltonian_isHermitian).
The thermal field state and its closed form #
The thermal field state: the TH3 Gibbs state ρ_β = e^{-βH}/Z instantiated on
the free-field Hamiltonian — the Thermo↔CV join.
Equations
- CSD.CV.thermalFieldState K N β = CSD.Thermo.gibbsState (CSD.CV.fieldHamiltonian K N) ⋯ β
Instances For
The configuration-basis partition function ∑_c e^{-β·E(c)}.
Equations
- CSD.CV.fieldPartition β K N = ∑ c : CSD.CV.FieldConfig K N, Real.exp (-β * CSD.CV.fieldEnergy c)
Instances For
The single-mode partition function z = ∑_m e^{-β·(m+½)}.
Equations
- CSD.CV.oscPartition β N = ∑ m : Fin N, Real.exp (-β * CSD.CV.oscEnergy ↑m)
Instances For
The Boltzmann weight of a configuration.
Equations
- CSD.CV.thermalWeight β c = Real.exp (-β * CSD.CV.fieldEnergy c) / CSD.CV.fieldPartition β K N
Instances For
The Gibbs state of the diagonal Hamiltonian is diagonal, with the Gibbs weights of
the configuration energies on the diagonal — cfc_eq_conj_diagonal at U = 1.
The configuration-basis partition function agrees with TH3's eigenvalue form —
extracted from the trace normalisation Tr ρ_β = 1.
★ The thermal field state, in closed form: the diagonal Boltzmann matrix.
Thermal expectations #
The thermal expectation ⟨A⟩_β = Tr(ρ_β A).
Equations
- CSD.CV.thermalExpect β A = (CSD.CV.thermalFieldState K N β * A).trace
Instances For
The thermal expectation is the Boltzmann-weighted diagonal sum.
Complex-time evolution and exact KMS #
Heisenberg evolution at complex time under the free-field Hamiltonian,
entrywise e^{iz(E_c − E_d)}·A_{cd}. Total at every z : ℂ: the Hamiltonian is
diagonal and the dimension finite, so no analytic continuation is involved.
Equations
- CSD.CV.thermalEvolve z A = Matrix.of fun (c d : CSD.CV.FieldConfig K N) => Complex.exp (Complex.I * z * (↑(CSD.CV.fieldEnergy c) - ↑(CSD.CV.fieldEnergy d))) * A c d
Instances For
The Heisenberg entry formula for the n-period free evolution, in phase-difference
form.
The real-time slice of the complex-time evolution IS the CV chain's stroboscopic Heisenberg evolution.
The Boltzmann-weight transport identity: w_c = w_d · e^{-β(E_c − E_d)}.
★★ Exact KMS at the cutoff. For every pair of observables and every t, β,
⟨A(t)·B⟩_β = ⟨B·A(t+iβ)⟩_β.
The corpus's first KMS statement. At finite dimension with the diagonal free-field
Hamiltonian the identity is an entrywise exponential shuffle: the iβ shift converts
the Boltzmann weight at c into the weight at d (thermalWeight_transport), and the
double sum relabels. Exact — no approximation, no continuation, no cutoff error.
The mode marginal #
The Boltzmann factor of a configuration is the product of its per-mode factors.
The partition function factorises over modes: Z_field = z_osc^K.
The distinguished-coordinate factorisation: summing a Boltzmann-weighted function of one mode over all configurations splits off that mode's Gibbs sum, the spectator modes contributing one partition factor each.
The common tail: the thermal expectation of any observable whose diagonal reads a single mode is the single-mode Gibbs average of that reading — the factorisation engine both the mode marginal and the two-point closed form consume.
The thermal two-point function #
The thermal two-point function ⟨Q_k(n)·Q_l⟩_β: the mode-k quadrature evolved
n free periods, against the mode-l quadrature, in the thermal state.
Equations
- CSD.CV.thermalTwoPoint β τ n k l = CSD.CV.thermalExpect β (CSD.CV.heisenberg (CSD.CV.freeFieldU K N τ ^ n) (CSD.CV.modeOp k (CSD.CV.Q N)) * CSD.CV.modeOp l (CSD.CV.Q N))
Instances For
Collapse of a configuration sum against mode-k locality: a summand vanishing off
"agrees with c away from k" reduces to a sum over the mode-k value.
The field energy of a one-mode update.
The single-mode thermal walk: the phase-weighted quadrature return sum evaluates to
one up-step and one down-step. The up-step exists only below the cutoff ceiling — the
[a+1 < N] guard is the truncation honesty of eqFourPoint_same's 2 < N, here at
every level.
The diagonal entry of the evolved-against-static quadrature product is a single-mode
walk at the configuration's mode-k level — the two-point analogue of the vacuum
computation, at every configuration.
★ The thermal two-point function, in closed form. On the mode diagonal the thermal propagator is a single-mode Boltzmann average of one up-step and one down-step:
⟨Q_k(n)Q_k⟩_β = (1/z)·∑_a e^{-β(a+½)}·( (a+1)/2·e^{-inτ}·[a+1<N] + a/2·e^{+inτ} ).
The truncation edge is explicit — the top level has no up-step — and at β → ∞ the
a = 0 term dominates, recovering the vacuum propagator ½·e^{-inτ}
(freeTwoPoint_eq); the interacting correction rides the CV-9/CV-12 price unchanged.
★ The vacuum limit. As β → ∞ the thermal propagator converges to the vacuum
propagator: the ground level dominates the Boltzmann average, and the closed form's
a = 0 term is exactly freeTwoPoint's ½·e^{-inτ}. The zero-point energies cancel
between numerator and partition function, so the limit is a statement about the reduced
geometric weights e^{-βa} — finite sums, no dominated convergence.